函数
函数:是一段封装的代码,在有需要的时候进行调用
def fun1(): #定义函数
print('Hello')
print(fun1()) #调用函数
函数的返回值
def fun2():
return 'Hello'
print(fun2())
函数的形参与实参
def sumdata(a,b): #a,b形式参数,简称形参
return a+b
print(sumdata(1,2)) #实际参数,简称实参
print(sumdata(1)) #实参的数量与形参的数量不相等,则报错
函数的缺省值
def sumdata2(a=100,b=80):
return a+b
print(sumdata2()) #用户不输入实参,则使用缺省值
print(sumdata2(1,2)) #用户输入了实参,则使用用户输入的值
print(sumdata2(1)) #用户输入了a的值,那么就是1+80=81
print(sumdata2(b=1)) #指定输入b的值,那么就是100+1=101
print(sumdata2(3,6)) #简略写法
print(sumdata2(a=3,b=6)) #完整写法
print(sumdata2(3,b=6)) #先简略写法,后完整写法
print(sumdata2(a=3,6)) #先完整写法,后简略写法,这种写法会报错
函数中可以有多个return
写一个函数,返回某数的绝对值
def absolute_value(n):
if n>=0:
return n
return 'Hello' #上一行的return语句执行完之后就退出了函数,之后的语句是不可达语句
else:
return -n
print(absolute_value(6))
函数可以return多个值,当有多个值时,以元组形式返回
def sumdata3(a,b):
return a+b,a-b,a*b,a**b
print(sumdata3(3,6))
列表是一个对象,所以返回时,直接返回列表,不需要以元组形式返回
def sumdata3(a,b):
return [a+b,a-b,a*b,a**b] #列表是一个对象,所以返回时,直接返回列表,不需要以元组形式返回
print(sumdata3(3,6))
print()函数可以传任意个参数
sep=' ' 间隔符的默认值为1个空格 end='\n' 结束符的默认值为一个换行符
print(1,2,3,4,5,6,7,8,9,10,sep='/',end='') #内置函数
*args可变长度参数,允许用户传任意个参数
def fun6(a,*args):
return a,*args #这么写,可以少一层元组,这种写法称之为解包.这种写法在低版本的python中会报错
print(fun6(1,2,3,4,5,6))
python2的写法
def fun6(a,*args):
return (a,*args) #低版本的python,这么写
print(fun6(1,2,3,4,5,6))
不解包的写法
def fun6(a,*args):
return a,args #这么写,会多一层元组
print(fun6(1,2,3,4,5,6))
关键字参数 **kwargs
允许用户输入任意个参数,必须是x=y的格式,返回值是字典格式
def fun9(a,**kwargs):
return a,kwargs
print(fun9(1,A='apple',B='book'))
对象的方法
方法就是写在类当中的函数
- index()方法 :返回某个或某些字符在字符串中的下标,默认从第0位开始查找,也可以从指定的位置开始查找
str1='hytrevrwce'
print(str1.index('h')) #返回某个或某些字符在字符串中的下标,默认从第0位开始查找,也可以从指定的参数位置开始查找
print(str1.index('h',3)) #找不到时,抛异常
print(str1.find('h',3)) #找不到时返回-1
- strip()方法 去掉字符串前后的空格,或者其他指定字符
str2=' nht br gvfr bnth b g '
print(str2.strip())
str2='********************nht br gvfr bnth b g****************'
print(str2.strip('*'))
- replace(参数1,参数2) 参数1需要替换的字符,参数2 替换后的字符,replace的返回值是字符串,是一个新的字符串对象
print(str2.replace(' ',''))
str3='**** * * *** **abcde** ***'
print(str3.replace('*','').replace(' ',''))
- startswith() 判断字符串是否以某个或某些字符开头
#根据身份证号码判断是否是南京的身份证
id_card='32010419990809098X'
if id_card.startswith('3201'):
print('南京的身份证')
- endswith() 判断字符串是否以某个或某些字符结尾
#判断身份证最后一位是否是X
if id_card.endswith('X'):
print('最后一位是X')
- split() 切割字符串,它有一个参数,以参数作为分割符,将字符串切割为多个值,split()返回值是列表
str9='abcdecfgc'
print(str9.split('c'))
网友评论