python day3 函数,内置函数
Posted 星星by~
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python day3 函数,内置函数相关的知识,希望对你有一定的参考价值。
1.函数
1.1 定义函数
·函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。
·任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。
·函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
·函数内容以冒号起始,并且缩进。
·return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
1.2 函数参数
【python 传参 传递的是一个引用】
·普通参数
def userinfo(name,userid): print(name,userid) userinfo(\'xx\',20) #xx 20
·默认参数(默认参数必须放在参数列表最后)
def userinfo(name,userid,status=\'ok\'):
print(name,userid,status)
userinfo(\'xx\',20)
userinfo(\'xx\',20,\'error\')
#xx 20 ok
#xx 20 error
·动态参数 * 默认将传入的元素,全部放在元祖中 ** 默认将传入的元素,全部放到字典里
def userinfo(*args): #参数是元祖或者列表 print(args) l_list = [1,2,3] userinfo(l_list) userinfo(*l_list) #([1, 2, 3],) #(1, 2, 3)
def userinfo(**args): #参数为字典 print(args) dic = {"name":\'xx\',"age":20} userinfo(name=\'xx\') userinfo(**dic) userinfo(name=\'xx\',age=30) #{\'name\': \'xx\'} #{\'age\': 20, \'name\': \'xx\'} #{\'age\': 30, \'name\': \'xx\'}
def userinfo(*args,**kwargs): #万能参数 print(args,kwargs) dic = {"name":\'xx\',"age":20} l_list = [1,2,3] userinfo(*l_list,**dic) #(1, 2, 3) {\'name\': \'xx\', \'age\': 20}
1.3 变量作用域
定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域。
局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问。调用函数时,所有在函数内声明的变量名称都将被加 。
想要改变函数外的全局变量,需要加global参数。
AGE =20 def userinfo(): AGE = 18 print(AGE) userinfo() print(AGE) #18 #20
AGE =20 def userinfo(): global AGE #改变全局变量 AGE = 18 print(AGE) userinfo() print(AGE) #18 #18
虽然函数内不能改变全局变量的值,但是假如变量为列表、字典等,可以修改元素,但是不能删除重建
Info = [1,2] dict_info = { "age":18, "name":"caesary", } def testfun(): Info.append(3) dict_info["addr"] = "HLJ" print(Info) print(dict_info) testfun() print(Info) print(dict_info) #[1, 2, 3] #{\'age\': 18, \'name\': \'caesary\', \'addr\': \'HLJ\'} #[1, 2, 3] #{\'age\': 18, \'name\': \'caesary\', \'addr\': \'HLJ\'}
2.内置函数
abs() 函数返回(数字)的绝对值
all() 如果()里的所有元素不为0、\'\'、False,all()返回True,否则返回False
>>> all([\'a\', \'b\', \'c\', \'d\']) #列表list,元素都不为空或0 True >>> all([\'a\', \'b\', \'\', \'d\']) #列表list,存在一个为空的元素 False >>> all([0, 1,2, 3]) #列表list,存在一个为0的元素 False >>> all((\'a\', \'b\', \'c\', \'d\')) #元组tuple,元素都不为空或0 True >>> all((\'a\', \'b\', \'\', \'d\')) #元组tuple,存在一个为空的元素 False >>> all((0, 1,2, 3)) #元组tuple,存在一个为0的元素 False >>> all([]) # 空列表 True >>> all(()) # 空元组 True
any() 如果()里的任何元素不为0、\'\'、False,any()返回True。如果iterable为空,返回False
>>> any([\'a\', \'b\', \'c\', \'d\']) #列表list,元素都不为空或0 True >>> any([\'a\', \'b\', \'\', \'d\']) #列表list,存在一个为空的元素 True >>> any([0, \'\', False]) #列表list,元素全为0,\'\',false False >>> any((\'a\', \'b\', \'c\', \'d\')) #元组tuple,元素都不为空或0 True >>> any((\'a\', \'b\', \'\', \'d\')) #元组tuple,存在一个为空的元素 True >>> any((0, \'\', False)) #元组tuple,元素全为0,\'\',false False >>> any([]) # 空列表 False >>> any(()) # 空元组 False
bin() 十进制转二进制
oct() 十进制转八进制
hex() 十进制转十六进制
print(bin(10),oct(10),hex(10)) #0b1010 0o12 0xa
bytes(字符串,编码格式)
一个字节8位
utf-8 一个汉字3个字节
gbk 一个汉字2个字节
n = \'测试\' m = bytes(n,encoding="utf-8") m1 = bytes(n,encoding="gbk") print(m,m1) print(str(bytes(n,encoding="utf-8"),encoding="utf-8")) #字节转化成字符串 #b\'\\xe6\\xb5\\x8b\\xe8\\xaf\\x95\' b\'\\xb2\\xe2\\xca\\xd4\' #测试
format() 格式化输出
s1 = \'i am {0},age {1}\'.format(\'xx\',20) print(s1) s2 = \'i am {0},age {1}\'.format(*[\'xx\',21]) print(s2) s3 = \'i am {name},age {age}\'.format(name=\'xx\',age=22) print(s3) dic = {\'name\':\'xx\',\'age\':23} s4 = \'i am {name},age {age}\'.format(**dic) print(s4) #i am xx,age 20 #i am xx,age 21 #i am xx,age 22 #i am xx,age 23
以上是关于python day3 函数,内置函数的主要内容,如果未能解决你的问题,请参考以下文章