Python 基础-python函数

函数
    1、def
    2、命名
    3、函数体
    4、return 返回值

def get_return():
    a = 1
    return a

函数参数有 形参和实参
    定义几个形参就要传几个实参。
    形参接收传参的时候默认是一一对应的

1、普通参数

def get_return(b): # b为形参
    a = b + 1
    return a
get_return(3) # 实参


2、默认参数:(指定默认参数时,形参必须要放到末尾)

def get_value(aa, bb, cc = "ok")
    print(aa, bb, cc)
get_value(11, 22, "no")

如果形参设有默认值,传参的时候可以传三个参数,也可以传2个参数
    传3个参数,cc就等于新的参数,否则就是默认参数
    
3、指定参数
get_value(bb = 21,aa = 5)

4、动态参数  可传多个参数
(1)*
默认都会当做元组的一个元素添加到元组中

def get_all_v(*value):
    print(value)

get_all_v(23)   # (23,)
li = [23, 445, 66, "dsad"]
get_all_v(li)   # ([23, 445, 66, 'dsad'],)
get_all_v(li, 34)   # ([23, 445, 66, 'dsad'], 34)

传值加*的话 al里面的所有元素都会转换到元组中

get_all_v(*li)   # (23, 445, 66, 'dsad')
get_all_v(*li, 34)  # (23, 445, 66, 'dsad', 34)

(2)**
默认都会当做字典的一个键值对(k:v)添加到字典中
传值时要指定k,v

def get_all_w(**value):
    print(value)
v2 = [23, 543, 66]
get_all_w(k1="v1")  # {'k1': 'v1'}
get_all_w(k2=v2)    # {'k2': [23, 543, 66]}

dic = {"k1": "v1", "k2": "v2"}
get_all_w(**dic)    # {'k1': 'v1', 'k2': 'v2'}

(3)* ** 万能参数

def get_all_a(*v, **v1):
    print(v)
    print(v1)
get_all_a(11, 2, 33, k1="v1", k2="v2")
'''
(11, 2, 33)
{'k1': 'v1', 'k2': 'v2'}'''

str.format() 函数参数应用

li = ["niu", 20]
dic = {"name": "niu", "age": 28}
s1 = "name is {0}, age is {1}".format("niu", 20)
print(s1)    # name is niu, age is 20
s1 = "name is {0}, age is {1}".format(*li)
print(s1)    # name is niu, age is 20
s2 = "name is {name}, age is {age}".format(
    name="niu",
    age=28
)
print(s2)    # name is niu, age is 28
s2 = "name is {name}, age is {age}".format(**dic)
print(s2)    # name is niu, age is 28

函数拓展

函数传递参数时传递的是一个引用,引用值更新时,原定义的实参也会更新

def li_append(li):
    li.append("ddd")
lis = [11, 22, 33, 44]
li_append(lis)
print(lis)  # [11, 22, 33, 44, 'ddd']


全局变量
1、都可以读
2、如果在局域中[重新赋值]全局变量的话需要先global name
3、如果变量是列表或者字典时,全局变量可以追加
4、全局变量 变量名都大写

# 内置函数

# abs() 取绝对值
print(abs(-1))  # 1
# all() 函数内部参数全部为真则为真
print(all([1, -1, 2, -2, 3]))   # true
print(all([1, -1, 2, -2, 0]))   # false
print(all([1, -1, "", {}, (), []]))    # false
# any  一个为真便为真
print(any((1, 0, "", {}, (), [], None)))    # true
# bool 判断真假。返回true or false
print(bool(1))  # true
# bin() 数字十进制转2进制
print(bin(8))   # 0b1000
# oct() 数字十进制转八进制
print(oct(9))   # 0o11
# hex() 数字十进制转十六进制
print(hex(10))  # 0xa
原文地址:https://www.cnblogs.com/Upward-man/p/5913116.html