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 函数,内置函数的主要内容,如果未能解决你的问题,请参考以下文章

Day3 - Python基础3 函数递归内置函数

Day3 - Python基础3 函数递归内置函数

Python学习笔记-Day3-python内置函数

Python全栈开发-Day3-Python基础3

python之day3

python学习笔记day3基础/函数/变量/递归