函数的定义:
#使用关键字 def定义函数
def test():
print("函数")
#带参数的函数
def test(num1,num2):
num = num1+num2
#函数设置返回值,直接使用return
def test(num1,num2):
num = num1+num2
return num
函数中调用全局变量:
使用global关键字标识
缺省参数:
#默认给参数b一个值,缺省参数只能放在所有参数后面,缺省参数后面不可以再定义参数
def test(a,b=12,c=9):
return a+b
#调用时第二个参数可以不传如:
test(10)
#如果想修改参数c的数值
test(10,c=11)
不定长参数:
def test(a,*args):
#在变量前添加*号,代表不定长参数。
#不定长参数实际上是一个元组
#只能放在形参中的最后一位
def test(a,**kwargs):
#在变量前添加**号,代表不定长参数。
#**的不定长参数实际上是一个字典
#在传入实际参数时,拥有变量名的传递给**的不定长参数:
test(10,b=18,c=21)#b和c传入到**kwargs中
元组和字典拆包:
#将元组和字典拆分,取出其中的所有元素
#元组拆包在传递实际参数时在参数前加一个*
#字典拆包在传递实际参数时在参数前加两个*
def test(*args,**kwargs):
a = (12,323,43)
b = {"haha":12,"lala":43}
#调用test方法
test(*a,**b)
函数的递归:
函数通过调用自己的方式,通过函数自身的循环以期望达到某个期许的方式(递归一定要有结束条件,不然会造成死循环)
num = 3
def getNum(num):
if num > 1:
return num * getNum(num - 1)
else:
return num
print(getNum(num))
匿名函数:
#匿名函数的定义
#变量名 = lambda 参数:表达式
func = lambda x,y:x*y
result = func(2,2)
#匿名函数只能用来操作一些简单的表达式,如果需要比较复杂的表达式应使用普通函数
字符串常用函数:
eval(str)
#功能:将字符串str转换成有效的表达式来执行并返回结算结果
str = "abcdefg abcdefg"
str.find("bc")
#功能:找到查询目标在字符串中左边第一次出现的下标,没有返回-1
str.rfind("bc")
#功能:找到查询目标在字符串中右边第一次出现的下标,没有返回-1
str.count("abcdefg)
#功能:计算查询字符串中出现的次数
str.replace("a","A")
#功能:替换成指定字符串,生成一个新的字符串
str.split(" ")
#功能:切割指定字符,返回一个列表(如果没有传递参数,直接切除不可见字符)