1. python入门
1.1 认识标识符
- 标识符是由字母、数字和下划线组成
- 标识符的首字符必须是字母或下划线
- 标识符区分大小写
1.2 认识保留字
简单来说就是python把一些字符串在系统中用过了,你后面定义就不能使用人家已经使用过的了。
保留字有哪些
import keyword
print(keyword.kwlist)
输出
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
1.3 注释的使用
使用语言描述代码的业务逻辑,增强程序的可读性
单行注释
# 这是单行注释
多行注释
'''
这是单引号的多行注释
这是单引号的多行注释
这是单引号的多行注释
'''
"""
这是双引号的多行注释
这是双引号的多行注释
这是双引号的多行注释
"""
1.4 print输出打印
print默认是换行打印
a = 1
b = 1
# 换行显示
print(a)
print(b)
# 下面是不换行显示
print(a, end="")
print(b, end="")
1.5 包引入
写法和vue相似
# 将整个模块进行引入
import xxxModule
# 将模块中某个函数进行引入
from xxxModule import xxxFunction
# 将模块中多个函数进行引入
from xxxModule import xxxFunction,yyyFunction,zzzFunction
2. 四种运算符
2.1 算术运算符
2.2 比较运算符
2.3 逻辑运算法
2.4 赋值运算符
2.5 运算符的优先级
3. 六大数据类型
3.1 Number(数字)
- int(整型):不带小数点的正数或负数。
- float(浮点型):由正数部分与小数部分组成,可以使用科学计数法表示。
- complex(复数):由实数部分和虚数部分构成,可以使用 a + bj,或者complex(a,b)表示,复数的实部a和虚部b都是浮点型。
3.2 String(字符串)
python中的字符串用单引号或者双引号括起来,中间使用反斜杠进行特殊字符的转义。
字符串格式化
name = '李嘉图'
# 第一种格式法
print('我的名字是:%s' % (name))
# 第二种格式法(推荐)
print(f'我的名字是: {name}')
3.3 Tuple(元组)
在()中添加元素,元素用逗号分隔,元素可以是不同的类型。
tup = ('李嘉图', 18, '男')
print(tup)
3.4 List(列表)
在 [ ] 中添加元素,元素用逗号分隔,元素可以是不同的类型,列表元素可变。可以当成java的数组用。
a = ['李嘉图' , 1, 2, 3]
print(a)
a[0] = 9
print(a)
# 追加列表
a.append(6)
print(a)
# 删除列表的的元素
del a[0]
print(a)
3.5 Dictionary(字典)
相当于java中的map,key=>value的形式。
d = {key1 : value1, key2 : value2, key3 : value3 }
可以用来存放对象
dict = {'name': '李嘉图', 'age': 18}
#遍历键
for key in dict.keys():
print(key)
"""
name
age
"""
# 遍历值
for value in dict.values():
print(value)
"""
李嘉图
18
"""
3.6 Set(集合)
在 { } 中添加元素,元素之间用逗号分隔,一个无序不重复的元素序列。
两种创建方式
set1 = {'李嘉图', 18, 18}
print(set1) # {'李嘉图', 18} ;元素不重复只显示一个18
set2 = set('abcd')
print(set2) # {'c', 'b', 'd', 'a'} ; 元素没有顺序
4. 基础语句
4.1 条件语句 (if、elif、else)
if 判断条件1:
执行语句1...
elif 判断条件2:
执行语句2...
elif 判断条件3:
执行语句3...
else:
执行语句4...
4.2 循环语句(while、while...else)
while 判断条件:
执行语句...
else:
执行语句...
4.3 循环语句(for、for...else)
# <variable>:存储元素的变量 ;<sequence>:遍历的对象
for <variable> in <sequence>:
执行语句
--------------------------
for <variable> in <sequence>:
执行语句1
else:
执行语句2
4.4 break、continue语句
break: 跳出循环体,不在执行循环
continue: 跳出本轮循环,继续执行下面的循环
4.5 pass语句
# 不做任何事情,一般用做占位语句,保持程序结构的完整性
while True:
pass
5. 函数
把具有独立功能的代码块封装起来,在需要的时候调用,提高编写的效率和代码的重用。
5.1 函数的定义
def 函数名():
'''
函数注释
'''
封装的函数代码......
5.2 函数的调用
通过 函数名() 调用函数
函数必须先定义,后使用
示例
name = "李嘉图"
def say_hello():
'''
这是一个打招呼的函数
'''
print("hello")
print("吃饭了吗?")
print("最近怎么样")
print(name)
say_hello()
5.3 带参数的函数
- 形参:定义函数时,小括号中的参数,是用来接收参数用的,在函数内部作为变量使用。
- 实参:调用函数时,小括号中的参数,是用来把数据传递到函数内部用的。
- 返回值:在函数执行结束后,告诉调用者执行的结果。
def sum_2_num(num1, num2):
"""
对两个数字的求和
"""
return num1 + num2
# 调用函数,并使用 result 变量接收计算结果
result = sum_2_num(10, 20)
print("计算结果是 %d" % result)
5.4 使用模块中定义好的函数
- 每一个扩展名为 py 结尾的代码文件是一个模块
- 如果要使用这个模块中的函数,使用 import xxx.py 导入即可
5.5 py代码的编译
python代码的解释分为两个步骤:
1. 先将py文件编译成二进制字节码(pyc)
2. 再将字节码处理成CPU能识别的机器码
运行过一次代码后,在下一次运行时,机器会先判断有没有修改过源代码,没有修改的话,会直接加载上一次编译好的.pyc文件,跳过编译这个步骤;如果修改了源代码,则会重新编译生成.pyc文件。
5.6 函数递归
函数调用自身的编程技巧称为递归
示例:计算数字的累加
def sum_numbers(num):
if num == 1:
return 1
temp = sum_numbers(num - 1)
# 函数内部的核心算法就是 两个数字的相加
return num + temp
print(sum_numbers(10))
6. 变量须知
6.1 引用
在python中,变量和数据是分开存储的,数据保存在内存中的某个位置,变量保存着数据在内存中的地址,变量中记录数据的地址就叫做引用。
如果变量已经被定义,当给一个变量赋值的时候,本质上是修改了数据的引用。
6.2 局部变量和全局变量
局部变量
- 局部变量是在函数内部定义的变量,只能在函数内部使用
- 函数执行结束后,函数内部的局部变量,会被系统回收
- 不同的函数,可以定义相同名字的局部变量,彼此互不影响
全局变量
- 全局变量是在函数外部定义的变量,所有函数内部都可以使用这个变量
- 同名时,函数执行,先找函数里面的局部变量,如果有则直接使用,没有就找函数外部的全局变量
- 全局变量前可以加g_或者gl_,与局部变量进行区分