Python课程学习笔记

本文最后更新于:几秒前

语法

基础元素

python是一种弱类型的语言,变量类型由值的类型决定。

对于赋值计算,会先计算出赋值号右边所有的值,然后再进行赋值,因此x,y=y,x不会出现数据污染的问题。

Number类型

python有int、float、complex共三种不同的数字类型。

转义字符的意义在于将控制信息与数值信息区分开。

String类型

切片操作:左闭右开+左右idx(逆序用负数)+不可修改性

List(列表)

List中可以存储各种类型的数据,甚至可以嵌套一个另外的list。支持切片操作。可以修改list中的单个或多个数据

Tuple(元素)

与列表的表达形式基本一致,但内容不可修改。

Set(集合)

元素无序,不可重复,不可hash访问

创建集合必须有set关键词,如set{};

Dictionray(字典)

key+value,key不可重复且可hash

函数

不定长参数:

*args代表位置不定长参数;**agrs代表关键词不定长参数

1
2
3
4
5
6
7
8
def Stu(name,*args):
print(name,args)
Stu("a","b","c")
#输出a ('b', 'c')
def Stu(name,**args):
print(name,args)
Stu("a",b="b",c="c")
#输出a {'b': 'b', 'c': 'c'}

拆分参数

使用星号进行拆分,列表和元组类型加一个,字典类型加两个,其意义可以大致当成C语言中的指针来理解。列表、元组拆成位置参数;字典拆成关键词参数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
def sum(*args):
res=0
for i in args:
res+=i
print(res)

ls=[1,2,3,4,5]
sum(ls)
#结果报错
sum(*ls)
#结果为1+2+3+4+5=15,将列表进行了拆分。

def prints(**args):
print(args)
for i in args.keys():
print(i+" "+args.get(i))

dict={"A":1,"B":2}
prints(**dict)
#结果为{'A': 1, 'B': 2}
#1
#2

全局变量 name

_ _ name_ _ 是当前模块名,当模块被直接运行时模块名为 _ _ main_ _ 。

1
2
3
#确定程序入口
if __name__ == __main__:
#操作

猴子补丁

指在运行时动态替换已有的代码,而不需要修改源码

image-20221008182137458

作用域

函数局部域和函数外的全局域

global关键字和nonlocal关键字

global:在函数内部使用函数外的全局变量。

nonlocal:在嵌套函数中,内部函数使用外部函数定义的局部变量。

高阶函数

将函数作为参数的一种函数。

image-20221008184104048

lambda

格式:lambda [参数1[参数2,参数3,…,参数n]]: 表达式

例子:

image-20221008184552667

装饰器

在修饰的函数外部进行一些自定义修饰,丰富功能。

修饰示例:

注意:func函数加上不定长参数表示修饰函数在修饰中的具体位置,在本例中是f函数的位置

image-20221008190835605

image-20221008190841723

装饰器修饰的是函数定义,调用时不需要进行声明。声明方法是“@装饰器函数名“

image-20221008190851626


Python课程学习笔记
http://paopao0226.site/post/614876e7.html
作者
Ywj226
发布于
2022年10月15日
更新于
2023年9月23日
许可协议