码迷,mamicode.com
首页 > 编程语言 > 详细

python day3 函数,内置函数

时间:2016-05-28 19:17:30      阅读:270      评论:0      收藏:0      [点我收藏+]

标签:

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 函数,内置函数

标签:

原文地址:http://www.cnblogs.com/xxby/p/5537873.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!