1.recode
列表,字典,元祖,集合
列表(list): [];可变,有序;元素是任何类型的数据
增:append, insert, extend
删:del, remove, pop, clear
改:列表[下标] = 新值
查:列表[下标], 切片, 遍历
字典(dict): {};可变,无序;元素是键值对,键是不可变的唯一的,值可以是任何类型的数据
增:字典[key] = 值, setdefault(key,默认值),update
删:del, pop, clear
改:字典[key] = 值
查:字典[key], 字典.get(key), 字典.get(key,默认值),遍历
元祖(tuple): ();不可变,有序;元素是任何类型的数据
查:和列表一样
tuple1 = 2, 34, 90, 18, 90
tuple2 = ('abc',)
x,y = (10, 20)
x,y = 10, 20
*nums, x, y = tuple1
集合(set): {};可变,无序;元素是不可变的唯一的
增:add, update
删:remove
查:遍历
集合运算:包含(>=, <=),并集(|)、交集(&)、差集(-)、补集(^)
2.浅拷贝和深拷贝
拷贝:将变量中的值赋值一份,产生新的数据。然后将新的数据对应的地址返回。
浅拷贝:直接拷贝地址(切片和字典列表的copy方法都是浅拷贝)
深拷贝:将地址对应值拷贝,产生新的地址

3.字典和列表的应用
列表的元素和字典的值可以是任何类型(列表中元素可以是字典,字典中可以是列表)
1.列表中有字典

2. 字典中有列表


4.函数的声明
函数就是对实现某一特定功能的代码段的封装
分类:自定义函数(程序员自己声明实现其功能)和内置函数(python本身自带的 已经声明实现完成了的)
1.声明函数的语法
def 函数名(参数列表):
函数体
说明:
a. def--> python中声明函数的关键字
b. 函数名 -->标识符(字母数字下划线,数字不能开头,不能是关键字)和变量一样。
遵守PEP8命名规范, (所有字母小写,多个单词之间使用下划线隔开)。
见名知意(看见名字就能知道函数的功能)
c.() -->固定格式
d. 参数列表--> 形参列表,参数名1,参数名2,参数名3....可以有多个(用逗号隔开)也可以没有
参数是用来从函数的外部给函数里面传值用的
e. : --> 固定写法
h. 函数体 --> 就是实现函数功能的代码段
2 .初学者声明函数的步骤
a. 确定函数的功能
b. 根据功能确定函数名
c. 确定参数:确定有么有,确定有几个(看实现函数的功能需不需要从函数外面传值,若需要,需要传几个)
d. 实现函数功能
e. 确定返回值
- 函数的调用
声明函数的时候函数体不会执行,只有在函数调用的时候才会执行
语法:
函数名(实参列表)
说明:
函数名 --> 必须是已经声明过的函数
() --> 固定的
实参列表 --> 数据1,数据2...
用来给形参赋值的

5.函数的调用
1.格式
函数名(实参列表)
2.函数的调用过程(重点!!!)
第一步: 回到函数声明的位置
第二步: 用实参给形参赋值(传参,要保证每个形参都有值)没有形参就不用
第三步: 执行函数体
第四部: 返回返回值
第五步: 执行完函数体回到函数调用的位置,接着执行后面的代码
6.函数的参数
1.位置参数和关键字参数
根据调用函数实参的书写方式:
传参:要保证每个参数都有值
位置参数: 按照实参的顺序一一给形参赋值
关键字参数: 形参1=实参1,形参2=实参2...

2 .默认参数
函数声明的时候可以给参数设置默认值,但是 有默认值的参数必须放在参数列表的最后
有默认值的参数在调用的时候可以不用赋值(传参),也可以传参相当于重新赋值

3. 不定长参数
参数的个数不确定的时候,可以在形参的前面加*,将这个形参变成一个元组,用来接收多个参数
注意:如果函数有多个参数,那么不定长参数要放在最后。

8.函数的返回值
函数的返回值就是函数调用表达式的值,是函数表达式执行完成后返回的一个值,和函数执行过程中
其他值或者打印的值没有关系,就是return关键字后面的表达式的值
python中所有的函数都要返回值,返回值默认是None
执行函数体没有遇到return,函数的返回值就是None;遇到return函数的返回值就是return后面的值
函数调用表达式 --> 调用函数的语句(函数名(实参))
return --> 关键字,只能写在函数体中。用来返回返回值、结束函数。
注意: 看一个函数的返回值,只看有没有遇到return。只要没有遇到return,就返回None
遇到return就是return后面的值
2.函数的调用过程(重点!!!!)
第一步:回到函数声明的位置
第二步:用实参给形参赋值(传参: 一定要保证每个参数都有值)
第三步:执行函数体
第四步:返回返回值 --> 返回给函数调用表达式
第五步:执行完函数体回到函数调用的位置,接着之后后面的代码
情况1: 没有return

情况2 : 有return
执行函数的时候,一旦遇到return,函数就直接结束,并且把return后面的结果作为返回值
并不是只要函数中有return函数的返回值就是return后面的值
如果实现函数的功能会产生新的数据,就将新的数据返回。如果不会产生新的数据,就不用返回值


网友评论