• 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
  • 相关阅读:
    053(九)
    方法的重载
    方法的重写(override / overwrite)
    属性与局部变量的对比
    面向对象基础知识合集:对象的产生、对象的生命周期、内存解析
    使用二维数组打印一个 10 行杨辉三角
    数组中的常见异常: 1. 数组角标越界的异常:ArrayIndexOutOfBoundsExcetion 2. 空指针异常:NullPointerException
    快速排序
    * 数组的冒泡排序的实现
    * 二维数组的使用
  • 原文地址:https://www.cnblogs.com/Upward-man/p/5913116.html
Copyright © 2020-2023  润新知