4、参数
必需参数
关键字参数
默认参数
不定长参数
什么是必需参数?必需参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样。下面的实例中调用say()函数,你必须传入一个参数,不然会出现语法错误:
以上代码,报错:
typeerror: say() missing 1 required positional argument: 'msg'
调用函数的时候,如果传入的参数数量不对,会报typeerror的错误,并且python会明确地告诉你。
如果传入的参数数量是对的,但参数类型不能被函数所接受,也会报typeerror的错误,并且给出错误信息:str是错误的参数类型:
有些时候,当我们在传入函数时,不需要显式地定义函数,直接传入匿名函数更方便。匿名函数有个限制,就是只能有一个表达式,无需写return,返回值就是该表达式的结果。用匿名函数有个好处,因为函数没有名字,不必担心函数名冲突。此外,匿名函数也是一个函数对象,也可以把匿名函数赋值给一个变量,再利用变量来调用该函数
如上,可以使用:对参数逐个进行注释,注释内容可以是任何形式,比如参数的类型、作用、取值范围等等,返回值使用->标注,所有的注释都会保存至函数的属性。
查看这些注释可以通过 __annotations__ 获取,结果会议字典的形式返回:
正则表达式
正则表达式语法规则
语法
说明
表达式实例
匹配字符串
字符
.匹配除换行\外的任意字符串abcabc
转义字符,使后一个字符改变原来的意思a\cac
[...]字符集,对应的位置可以是字符集中任意字符,字符集中的字符可以逐个列出,也可以给出范围,如[abc]或[a-c]。第一个字符如果是^则表示取反,如[^abc]表示不是abc中的其他字符。所有的特殊的字符在字符集中都失去其原有的特殊含义。在字符集中使用^、]或-,可以使用转义字符匹配它们a[bcd]e
abe
ace
ade
预定义字符集
d数字:[0-9]adca1c
d非数字:[^0-9]adcabc
s空白字符:[]asca c
s非空白字符:[^s]ascabc
w单词字符:[a-za-z0-9_]awcabc
w非单词字符:[^w]awca c
贪婪模式和非贪婪模式
贪婪模式是尽可能多的匹配字符串,python默认为贪婪模式,非贪婪模式尽可能少的匹配字符串,在正则表达式后面加个?表示非贪婪模式。例如:字符串abcccb,贪婪模式正则表达式为ab.*c,非贪婪模式的正则表达式为ab.*?c,贪婪模式结果为abccc,非贪婪模式结果为abc,再比如字符串abbb,贪婪模式正则表达式为ab?,非贪婪模式正则表达为ab,贪婪模式结果为ab,非贪婪结果为a。
谢谢阅读!!!!