函数定义
函数的定义规则:
- (1)函数代码块以def关键词开头,后接函数标识符名和圆括号()。
- (2)任何传入实参和形参必须放在圆括号中。圆括号中写的是形参。
- (3)函数的第一行语句可以选择性地使用文档字符串—-用于存放函数说明。
- (4)函数内容以冒号起始,并且函数体要有缩进。
- (5)return[expression]结束函数,选择性地返回一个值给调用者。不带表达式 的return相当于返回None。
函数参数
- 无参
- 有参
- 必备参数
- 命名参数
- 缺省参数
- 不定长参数
有参数函数——必备参数
- 不可变参数:字符串、数字、元祖等,传递的是值
- 可变参数:字典、列表,传递的是引用(其实这种归根结底传的也是值, 只不过是指向内存空间地址的值)
#传不可变参数
a=1
def func(a):
a= a+1
print(a) #2
func(a)
print(a) #1
#
#传可变参数
l=[1,2,3]
def func(l):
l.append(1)
print(l) #[1]
func([])
func(l)
print(l) # [1,2,3,1]
- 函数中引用全局变量
a=1
def func():
global a
a += 1
print(a) #2
func()
默认参数
- 不可变对象:str int float
- 可变对象:list tuple dict
def add_end(L=[]):
L.append('end')
return L
print(add_end([1,2,3]))
print(add_end(['1','2','3']))
print(add_end())
print(add_end())
print(add_end())
>>[1,2