文章目录
1 python函数格式
def 函数名 (参数列表) :
函数体
2变量的作用域
- 当全局变量和局部变量出现在同一段代码中时,局部变量会掩盖全局变量,但不会修改全局变量。
a=10
def set_number():
#a=100
print('函数内a',a)
set_number()
print('函数外a',a)
结果:
函数内a 10
函数外a 10
3参数传值
3.1普通实参和形参
特点: 形参和实参具有不同的地址空间,形参的改变不会影响实参;
传输方式:按值传递
def func(num):
num+=1
print('形参的地址',id(num))
a=10
func(a)
print('实参的地址',id(a))
结果:
形参的地址 140733836416352
实参的地址 140733836416320
3.2字典和列表参数
注意:列表和字典可作为批量参数传递,函数内部对元素的操作会影响实参。
def swap(list):
temp=list[0]
list[0]=list[1]
list[1]=temp
list=[1,2]
print('交换前',list)
swap(list)
print('交换后',list)
结果
交换前 [1, 2]
交换后 [2, 1]
3.3参数默认值
注意:拥有默认的参数必须位于末尾,不然不好区分
3.4可变长参数
特征:变长参数可以是字典或者元祖
参数以*开头为元祖
参数以**开头为字典
代码如下:
def func(*t):
print('可变长参数数量为',len(t))
print('依次为')
for i in range(len(t)):
print(t[i])
func(1,2,3,4)
def func2(**d):
print('字典元素为',d)
func2(a=1,b=2,c=3)
结果:
可变长参数数量为 4
依次为
1
2
3
4
字典元素为 {'a': 1, 'b': 2, 'c': 3}
3.3python内置函数
3.3.1数学运算函数
函数 | 说明 |
---|---|
abs(x) | 返回x的绝对值 |
pow(x,y) | 返回x的y次幂 |
round(x,n) | 返回x的四舍五入值,n为保留小数位数 |
divmod(a,b) | 返回a/b的商和余数,返回的是元祖 |
3.3.2字符串处理函数
- 字符串大小写互换
函数 | 说明 |
---|---|
str.lower() | 将str的字母全部转换为小写 |
str.upper() | 将Str的字母全部转换为大写 |
str.title() | 将字符串str首字母大写 |
str.swapcase() | 将大小写互换 |
- 制定输出字符的对齐方式
函数 | 说明 |
---|---|
str.ljust(width,char) | 左对齐,宽度为width,填充字符为char |
str.rjust(width,char) | 左对齐,宽度为width,填充字符为char |
str.center(width,char) | 左对齐,宽度为width,填充字符为char |
- 搜索和替换
函数 | 说明 |
---|---|
str.find(substr,start,end) | 返回str中substr的第一个字母的下标,没有返回-1 |
str.rfind(substr,start,end) | 返回str中substr的第一个字母的下标,没有返回-1(右侧算起) |
str.count(substr,start,end) | 返回str中substr的出现次数 |
- 分割和组合
函数 | 说明 |
---|---|
str.split(sep,max) | 以sep为分割符,max为次数,分割为返回列表 |
str.splitlines(keep) | 按照行分割为列表,keep为bool值,为true保留行符 |
str.join(sep) | seq为字符串序列,将seq用str连接起来 |
函数 | 说明 |
---|---|
str.startwith(substr) | 判断str是否以substr开头 |
str.endswith(substr) | 判断str是否以substr结尾 |
str.isalpha() | 判断str是否全为字母 |
str.isdigit() | 判断str是否全为数字 |
str.islower() | 判断str是否全为小写字母 |
str.isupper() | 判断str是否全为大写字母 |
3.3.3其他内置函数
函数 | 说明 |
---|---|
help() | 显示帮助信息 |
type() | 显示对象的数据类型 |