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,元素都不为空或0True >>> all([‘a‘, ‘b‘, ‘‘, ‘d‘]) #列表list,存在一个为空的元素False >>> all([0, 1,2, 3]) #列表list,存在一个为0的元素False >>> all((‘a‘, ‘b‘, ‘c‘, ‘d‘)) #元组tuple,元素都不为空或0True >>> 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,元素都不为空或0True >>> any([‘a‘, ‘b‘, ‘‘, ‘d‘]) #列表list,存在一个为空的元素True >>> any([0, ‘‘, False]) #列表list,元素全为0,‘‘,falseFalse >>> any((‘a‘, ‘b‘, ‘c‘, ‘d‘)) #元组tuple,元素都不为空或0True >>> any((‘a‘, ‘b‘, ‘‘, ‘d‘)) #元组tuple,存在一个为空的元素True >>> any((0, ‘‘, False)) #元组tuple,元素全为0,‘‘,falseFalse >>> 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‘xe6xb5x8bxe8xafx95‘ b‘xb2xe2xcaxd4‘ #测试
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
原文:http://www.cnblogs.com/xxby/p/5537873.html
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!