可变参数处理:
如:*c 为可变参数
* ,将多个参数收集到一个元组对象中
**,将多个参数收集到一个字典对象中
强制命名参数:
在带星号的“可变参数”后面增加新的参数,必须是“强制命名参数”。
r如:f1(*a,b,c)
f1(2,b=3,c=4)
可变参数处理:
如:*c 为可变参数
* ,将多个参数收集到一个元组对象中
**,将多个参数收集到一个字典对象中
强制命名参数:
在带星号的“可变参数”后面增加新的参数,必须是“强制命名参数”。
r如:f1(*a,b,c)
f1(2,b=3,c=4)
参数的几种类型
位置参数:
函数调用时,实参默认按位置顺序传递,需要个数和形参匹配,按位置传递参数,称为:位置参数。
默认值参数
默认值参数必须位于普通位置参数后面
命名参数
按照形参的名称传递参数
传递不可变对象使用的是浅拷贝
浅拷贝和深拷贝:
浅拷贝拷贝父对象,不拷贝子对象
深拷贝全部拷贝完全独立
传递不可变对象:
int、float、字符串、元组、布尔值
讲的真垃圾
局部变量的查询和访问的速度比全局变量快,优先考虑使用,尤其是在循环次数特别多的时候。
变量的作用域:
在函数内改变全局变量的值,增加g'lo
这课程讲的就和拿着稿子照本宣科一样
return 两个作用: 1.返回值 2.结束函数的执行
Python函数的分类
1.内置函数:str(), list(), len()
2.标准库函数
3.第三方函数
4.用户自定义函数
def
类的定义
生成器推导式(生成元组)
一个生成器只能运行一次,迭代一次后第二次没有数据。
gnt=(x for x in range(1,100) if x%9==0)
没听懂
列表是可变序列,元组是不可变序列,只有创建和删除,但元组支持访问操作。
括号可以省略,但元素后面有逗号,不跟逗号认定为其他类型。
列表基本语法创建
a=[],a=list()
range创建整数列表
列表内通过for循环创建多个元素,通过if过滤元素
左对齐,右对齐、填充,用冒号后面填充的字符,大括号机括住{}
相同字符串,符合标识符规则的字母,不同变量,此时两个不同变量会引用同一个对象
split分割
join合并
列表对象可变,字符串对象不可变,每次新建花费时间长,且浪费内存。