Python学习计划:
1.先学习Python基础知识,包括:
- 变量、数据类型、运算符
- 条件语句、循环语句
- 函数、模块、包
2.掌握Python的常用库和框架,例如:
- NumPy:用于科学计算、数据分析等
- Pandas:用于数据处理、清洗等
- Matplotlib:用于数据可视化
- Flask、Django:用于Web开发
可以通过阅读官方文档或者一些实战教程来学习。
3.实践项目,例如:
- 爬虫项目:爬取网页数据并进行分析
- 数据分析项目:对某个数据集进行分析并可视化
- Web应用项目:开发一个简单的Web应用
可以通过网上找一些实战项目来练手。
4.不断学习、实践和提升技能,例如:
- 参加Python社区的活动,如PyCon等
- 参与开源项目,学习他人的代码
- 阅读Python相关的书籍和博客,了解最新的技术和趋势
以上是一个大致的Python学习计划,具体可以根据自己的兴趣和目标来制定。重要的是要坚持学习,不断实践和提升技能。
下面我们就先讲一下python基础吧
Python 变量
创建变量
变量是存放数据值的容器。
与其他编程语言不同,Python 没有声明变量的命令。
首次为其赋值时,才会创建变量。
x = 10
y = "NBA"
print(x)
print(y)
变量不需要使用任何特定类型声明,甚至可以在设置后更改其类型。
x = 5 # x is of type int
x = "Steve" # x is now of type str
print(x)
字符串变量可以使用单引号或双引号进行声明:
x = "Bill"
# is the same as
x = 'Bill'
变量名称
变量可以使用短名称(如 x 和 y)或更具描述性的名称(age、carname、total_volume)。
Python 变量命名规则:
- 变量名必须以字母或下划线字符开头
- 变量名称不能以数字开头
- 变量名只能包含字母数字字符和下划线(A-z、0-9 和 _)
- 变量名称区分大小写(age、Age 和 AGE 是三个不同的变量)
请记住,变量名称区分大小写
向多个变量赋值
Python 允许您在一行中为多个变量赋值:
x, y, z = "Orange", "Banana", "Cherry"
print(x)
print(y)
print(z)
您可以在一行中为多个变量分配相同的值:
x = y = z = "Orange"
print(x)
print(y)
print(z)
全局变量
在函数外部创建的变量(如上述所有实例所示)称为全局变量。
全局变量可以被函数内部和外部的每个人使用。
实例
在函数外部创建变量,并在函数内部使用它:
x = "awesome"
def myfunc():
print("Python is " + x)
myfunc()
如果在函数内部创建具有相同名称的变量,则该变量将是局部变量,并且只能在函数内部使用。具有相同名称的全局变量将保留原样,并拥有原始值。
实例
在函数内部创建一个与全局变量同名的变量:
x = "awesome"
def myfunc():
x = "fantastic"
print("Python is " + x)
myfunc()
print("Python is " + x)
global 关键字
通常,在函数内部创建变量时,该变量是局部变量,只能在该函数内部使用。
要在函数内部创建全局变量,您可以使用 global 关键字。
实例
如果您用了 global 关键字,则该变量属于全局范围:
def myfunc():
global x
x = "fantastic"
myfunc()
print("Python is " + x)
Python 数据类型
内置数据类型
在编程中,数据类型是一个重要的概念。
变量可以存储不同类型的数据,并且不同类型可以执行不同的操作。
在这些类别中,Python 默认拥有以下内置数据类型:
获取数据类型
您可以使用 type() 函数获取任何对象的数据类型:
实例
打印变量 x 的数据类型:
x = 10
print(type(x))
设置数据类型
在 Python 中,当您为变量赋值时,会设置数据类型:
设定特定的数据类型
如果希望指定数据类型,则您可以使用以下构造函数:
Python 运算符
Python 运算符
运算符用于对变量和值执行操作。
Python 在以下组中划分运算符:
- 算术运算符
- 赋值运算符
- 比较运算符
- 逻辑运算符
- 身份运算符
- 成员运算符
- 位运算符
Python 算术运算符
算术运算符与数值一起使用来执行常见的数学运算:
Python 赋值运算符
赋值运算符用于为变量赋值:
Python 比较运算符
比较运算符用于比较两个值:
Python 逻辑运算符
逻辑运算符用于组合条件语句:
Python 身份运算符
身份运算符用于比较对象,不是比较它们是否相等,但如果它们实际上是同一个对象,则具有相同的内存位置:
Python 成员运算符
成员资格运算符用于测试序列是否在对象中出现:
Python 位运算符
位运算符用于比较(二进制)数字:
Python If ... Else
Python 条件和 If 语句
Python 支持来自数学的常用逻辑条件:
- 等于:
a == b
- 不等于:
a != b
- 小于:
a < b
- 小于等于:
a <= b
- 大于:
a > b
- 大于等于:
a >= b
这些条件能够以多种方式使用,最常见的是“if 语句”和循环。
if 语句使用 if
关键词来写。
a = 66
b = 200
if b > a:
print("b is greater than a")
缩进
Python 依赖缩进,使用空格来定义代码中的范围。其他编程语言通常使用花括号来实现此目的。
实例
没有缩进的 If 语句(会引发错误):
a = 66
b = 200
if b > a:
print("b is greater than a") # 会报错
Elif
elif
关键字是 python 对“如果之前的条件不正确,那么试试这个条件”的表达方式。
实例
a = 66
b = 66
if b > a:
print("b is greater than a")
elif a == b:
print("a and b are equal")
在这个例子中,a
等于 b
,所以第一个条件不成立,但 elif
条件为 true,所以我们打印屏幕“a 和 b 相等”。
Else
else 关键字捕获未被之前的条件捕获的任何内容。
实例
a = 200
b = 66
if b > a:
print("b is greater than a")
elif a == b:
print("a and b are equal")
else:
print("a is greater than b")
在这个例子中,a
大于 b
,所以第一个条件不成立,elif
条件也不成立,所以我们转到 else
条件并打印到屏幕“a 大于 b”。
您也可以使用没有 elif
的 else
:
a = 200
b = 66
if b > a:
print("b is greater than a")
else:
print("b is not greater than a")
简写 If
如果只有一条语句要执行,则可以将其与 if 语句放在同一行。
实例
单行 if 语句:
a = 200
b = 66
if a > b: print("a is greater than b")
简写 If ... Else
如果只有两条语句要执行,一条用于 if,另一条用于 else,则可以将它们全部放在同一行:
实例
单行 if else 语句:
a = 200
b = 66
print("A") if a > b else print("B")
And
and
关键字是一个逻辑运算符,用于组合条件语句:
实例
测试 a 是否大于 b,且 c 是否大于 a:
a = 200
b = 66
c = 500
if a > b and c > a:
print("Both conditions are True")
Or
or
关键字也是逻辑运算符,用于组合条件语句:
实例
测试 a 是否大于 b,或者 a 是否大于 c:
a = 200
b = 66
c = 500
if a > b or a > c:
print("At least one of the conditions is True")
嵌套 If
您可以在 if 语句中包含 if 语句,这称为嵌套 if 语句。
x = 52
if x > 10:
print("Above ten,")
if x > 20:
print("and also above 20!")
else:
print("but not above 20.")
pass 语句
if 语句不能为空,但是如果您处于某种原因写了无内容的 if 语句,请使用 pass 语句来避免错误。
实例
a = 66
b = 200
if b > a:
pass
Python While 循环
Python 循环
Python 有两个原始的循环命令:
while
循环for
循环
while 循环
如果使用 while
循环,只要条件为真,我们就可以执行一组语句。
实例
只要 i 小于 7,打印 i:
i = 1
while i < 7:
print(i)
i += 1
注释:请记得递增 i
,否则循环会永远继续。
while
循环需要准备好相关的变量。在这个实例中,我们需要定义一个索引变量 i
,我们将其设置为 1。
break 语句
如果使用 break
语句,即使 while 条件为真,我们也可以停止循环:
实例
在 i 等于 3 时退出循环:
i = 1
while i < 7:
print(i)
if i == 3:
break
i += 1
continue 语句
如果使用 continue
语句,我们可以停止当前的迭代,并继续下一个:
实例
如果 i 等于 3,则继续下一个迭代:
i = 0
while i < 7:
i += 1
if i == 3:
continue
print(i)
else 语句
通过使用 else 语句,当条件不再成立时,我们可以运行一次代码块:
实例
条件为假时打印一条消息:
i = 1
while i < 6:
print(i)
i += 1
else:
print("i is no longer less than 6")
Python For 循环
Python For 循环
for
循环用于迭代序列(即列表,元组,字典,集合或字符串)。
这与其他编程语言中的 for
关键字不太相似,而是更像其他面向对象编程语言中的迭代器方法。
通过使用 for
循环,我们可以为列表、元组、集合中的每个项目等执行一组语句。
实例
打印 fruits 列表中的每种水果:
fruits = ["apple", "banana", "cherry"]
for x in fruits:
print(x)
提示:for
循环不需要预先设置索引变量。
循环遍历字符串
甚至连字符串都是可迭代的对象,它们包含一系列的字符:
实例
循环遍历单词 "banana" 中的字母:
for x in "banana":
print(x)
break 语句
通过使用 break
语句,我们可以在循环遍历所有项目之前停止循环:
实例
如果 x 是 "banana",则退出循环:
fruits = ["apple", "banana", "cherry"]
for x in fruits:
print(x)
if x == "banana":
break
实例
当 x 为 "banana" 时退出循环,但这次在打印之前中断:
fruits = ["apple", "banana", "cherry"]
for x in fruits:
if x == "banana":
break
print(x)
continue 语句
通过使用 continue
语句,我们可以停止循环的当前迭代,并继续下一个:
实例
不打印香蕉:
fruits = ["apple", "banana", "cherry"]
for x in fruits:
if x == "banana":
continue
print(x)
range() 函数
如需循环一组代码指定的次数,我们可以使用 range()
函数,
range()
函数返回一个数字序列,默认情况下从 0 开始,并递增 1(默认地),并以指定的数字结束。
实例
使用 range()
函数:
for x in range(10):
print(x)
注意:range(10)
不是 0 到 10 的值,而是值 0 到 9。
range()
函数默认 0 为起始值,不过可以通过添加参数来指定起始值:range(3, 10)
,这意味着值为 3 到 10(但不包括 10):
实例
使用起始参数:
for x in range(3, 10):
print(x)
range()
函数默认将序列递增 1,但是可以通过添加第三个参数来指定增量值:range(2, 30, 3)
:
实例
使用 3 递增序列(默认值为 1):
for x in range(3, 50, 6):
print(x)
For 循环中的 Else
for 循环中的 else
关键字指定循环结束时要执行的代码块:
实例
打印 0 到 9 的所有数字,并在循环结束时打印一条消息:
for x in range(10):
print(x)
else:
print("Finally finished!")
嵌套循环
嵌套循环是循环内的循环。
“外循环”每迭代一次,“内循环”将执行一次:
实例
打印每个水果的每个形容词:
adj = ["red", "big", "tasty"]
fruits = ["apple", "banana", "cherry"]
for x in adj:
for y in fruits:
print(x, y)
pass 语句
for 语句不能为空,但是如果您处于某种原因写了无内容的 for 语句,请使用 pass 语句来避免错误。
实例
for x in [0, 1, 2]:
pass
Python 函数
函数是一种仅在调用时运行的代码块。
您可以将数据(称为参数)传递到函数中。
函数可以把数据作为结果返回。
创建函数
在 Python 中,使用 def
关键字定义函数:
实例
def my_function():
print("Hello from a function")
调用函数
如需调用函数,请使用函数名称后跟括号:
实例
def my_function():
print("Hello from a function")
my_function()
参数
信息可以作为参数传递给函数。
参数在函数名后的括号内指定。您可以根据需要添加任意数量的参数,只需用逗号分隔即可。
下面的例子有一个带参数(fname)的函数。当调用此函数时,我们传递一个名字,在函数内部使用它来打印全名:
实例
def my_function(fname):
print(fname + " Gates")
my_function("Bill")
my_function("Steve")
my_function("Elon")
默认参数值
下面的例子展示如何使用默认参数值。
如果我们调用了不带参数的函数,则使用默认值:
实例
def my_function(country = "China"):
print("I am from " + country)
my_function("Sweden")
my_function("India")
my_function()
my_function("Brazil")
以 List 传参
您发送到函数的参数可以是任何数据类型(字符串、数字、列表、字典等),并且在函数内其将被视为相同数据类型。
例如,如果您将 List 作为参数发送,它到达函数时仍将是 List(列表):
实例
def my_function(food):
for x in food:
print(x)
fruits = ["apple", "banana", "cherry"]
my_function(fruits)
返回值
如需使函数返回值,请使用 return
语句:
实例
def my_function(x):
return 5 * x
print(my_function(3))
print(my_function(5))
print(my_function(9))
关键字参数
您还可以使用 key = value 语法发送参数。
参数的顺序无关紧要。
实例
def my_function(child3, child2, child1):
print("The youngest child is " + child3)
my_function(child1 = "Phoebe", child2 = "Jennifer", child3 = "Rory")
任意参数
如果您不知道将传递给您的函数多少个参数,请在函数定义的参数名称前添加 *。
这样,函数将接收一个参数元组,并可以相应地访问各项:
实例
如果参数数目未知,请在参数名称前添加 *:
def my_function(*kids):
print("The youngest child is " + kids[2])
my_function("Phoebe", "Jennifer", "Rory")
pass 语句
函数定义不能为空,但是如果您出于某种原因写了无内容的函数定义,请使用 pass 语句来避免错误。
实例
def myfunction:
pass
递归
Python 也接受函数递归,这意味着定义的函数能够调用自身。
递归是一种常见的数学和编程概念。它意味着函数调用自身。这样做的好处是可以循环访问数据以达成结果。
开发人员应该非常小心递归,因为它可以很容易地编写一个永不终止的,或者使用过量内存或处理器能力的函数。但是,在被正确编写后,递归可能是一种非常有效且数学上优雅的编程方法。
在这个例子中,tri_recursion()
是我们定义为调用自身 ("recurse") 的函数。我们使用 k 变量作为数据,每次递归时递减(-1)。当条件不大于 0 时(比如当它为 0 时),递归结束。
对于新的开发人员来说,可能需要一些时间来搞清楚其工作原理,最好的方法是测试并修改它。
实例
递归的例子:
def tri_recursion(k):
if(k>0):
result = k+tri_recursion(k-1)
print(result)
else:
result = 0
return result
print("\n\nRecursion Example Results")
tri_recursion(6)
Python 模块
什么是模块?
请思考与代码库类似的模块。
模块是包含一组函数的文件,希望在应用程序中引用。
创建模块
如需创建模块,只需将所需代码保存在文件扩展名为 .py
的文件中:
实例
在名为 mymodule.py
的文件中保存代码:
def greeting(name):
print("Hello, " + name)
使用模块
现在,我们就可以用 import
语句来使用我们刚刚创建的模块:
实例
导入名为 mymodule
的模块,并调用 greeting
函数:
import mymodule
mymodule.greeting("Bill")
注释:如果使用模块中的函数时,请使用以下语法:
module_name.function_name
模块中的变量
模块可以包含已经描述的函数,但也可以包含各种类型的变量(数组、字典、对象等):
实例
在文件 mymodule.py
中保存代码:
person1 = {
"name": "Bill",
"age": 63,
"country": "USA"
}
实例
导入名为 mymodule
的模块,并访问 person1 字典:
import mymodule
a = mymodule.person1["age"]
print(a)
为模块命名
您可以随意对模块文件命名,但是文件扩展名必须是 .py
。
重命名模块
您可以在导入模块时使用 as
关键字创建别名:
实例
为 mymodule 创建别名 mx:
import mymodule as mx
a = mx.person1["age"]
print(a)
内建模块
Python 中有几个内建模块,您可以随时导入。
实例
导入并使用 platform
模块:
import platform
x = platform.system()
print(x)
使用 dir() 函数
有一个内置函数可以列出模块中的所有函数名(或变量名)。dir()
函数:
实例
列出属于 platform 模块的所有已定义名称:
import platform
x = dir(platform)
print(x)
注释:dir() 函数可用于所有模块,也可用于您自己创建的模块。
从模块导入
您可以使用 from 关键字选择仅从模块导入部件。
实例
名为 mymodule 的模块拥有一个函数和一个字典:
def greeting(name):
print("Hello, " + name)
person1 = {
"name": "Bill",
"age": 63,
"country": "USA"
}
实例
仅从模块导入 person1 字典:
from mymodule import person1
print (person1["age"])
提示:在使用 from 关键字导入时,请勿在引用模块中的元素时使用模块名称。示例:person1["age"],而不是 mymodule.person1["age"]。
本篇python基础语法就到这了