函数
1、def
2、命名
3、函数体
4、return 返回值
defget_return():
a= 1
return a
函数参数有 形参和实参
定义几个形参就要传几个实参。
形参接收传参的时候默认是一一对应的
1、普通参数
def get_return(b): #b为形参
a = b + 1
returna
get_return(3) #实参
2、默认参数:(指定默认参数时,形参必须要放到末尾)
def get_value(aa, bb, cc = "ok")print(aa, bb, cc)
get_value(11, 22, "no")
如果形参设有默认值,传参的时候可以传三个参数,也可以传2个参数
传3个参数,cc就等于新的参数,否则就是默认参数
3、指定参数
get_value(bb = 21,aa = 5)
4、动态参数 可传多个参数
(1)*
默认都会当做元组的一个元素添加到元组中
def get_all_v(*value):print(value)
get_all_v(23) #(23,)
li = [23, 445, 66, "dsad"]
get_all_v(li)#([23, 445, 66, 'dsad'],)
get_all_v(li, 34) #([23, 445, 66, 'dsad'], 34)
传值加*的话 al里面的所有元素都会转换到元组中
get_all_v(*li) #(23, 445, 66, 'dsad')
get_all_v(*li, 34) #(23, 445, 66, 'dsad', 34)
(2)**
默认都会当做字典的一个键值对(k:v)添加到字典中
传值时要指定k,v
def get_all_w(**value):print(value)
v2= [23, 543, 66]
get_all_w(k1="v1") #{'k1': 'v1'}
get_all_w(k2=v2) #{'k2': [23, 543, 66]}
dic= {"k1": "v1", "k2": "v2"}
get_all_w(**dic) #{'k1': 'v1', 'k2': 'v2'}
(3)* ** 万能参数
def get_all_a(*v, **v1):print(v)print(v1)
get_all_a(11, 2, 33, k1="v1", k2="v2")'''(11, 2, 33)
{'k1': 'v1', 'k2': 'v2'}'''
str.format() 函数参数应用
li = ["niu", 20]
dic= {"name": "niu", "age": 28}
s1= "name is {0}, age is {1}".format("niu", 20)print(s1) #name is niu, age is 20
s1 = "name is {0}, age is {1}".format(*li)print(s1) #name is niu, age is 20
s2 = "name is {name}, age is {age}".format(
name="niu",
age=28)print(s2) #name is niu, age is 28
s2 = "name is {name}, age is {age}".format(**dic)print(s2) #name is niu, age is 28
函数拓展
函数传递参数时传递的是一个引用,引用值更新时,原定义的实参也会更新
defli_append(li):
li.append("ddd")
lis= [11, 22, 33, 44]
li_append(lis)print(lis) #[11, 22, 33, 44, 'ddd']
全局变量
1、都可以读
2、如果在局域中[重新赋值]全局变量的话需要先global name
3、如果变量是列表或者字典时,全局变量可以追加
4、全局变量 变量名都大写
# 内置函数
#abs() 取绝对值
print(abs(-1)) #1#all() 函数内部参数全部为真则为真
print(all([1, -1, 2, -2, 3])) #true
print(all([1, -1, 2, -2, 0])) #false
print(all([1, -1, "", {}, (), []])) #false#any 一个为真便为真
print(any((1, 0, "", {}, (), [], None))) #true#bool 判断真假。返回true or false
print(bool(1)) #true#bin() 数字十进制转2进制
print(bin(8)) #0b1000#oct() 数字十进制转八进制
print(oct(9)) #0o11#hex() 数字十进制转十六进制
print(hex(10)) #0xa