• Python学习杂记_11_函数(一)



    函数也叫方法,就是把实现某种功能的一组代码封装起来,当你需要这个功能时直接调用函数即可。

    定义函数
    定义函数时要注意 “def”关键字,“:”,“函数体缩进”;用“return”使函数有具体返回值,没有return返回“None”.
    def SUM(a, b):
    return a + b

    调用函数:
    函数名()的格式就可以调用函数
    def SUM(a, b):
    return a + b
    num1 = int(input("Please input num1: "))
    num2 = int(input("Please input num2: "))
    sum = SUM(num1,num2)
    print("num1 + num2 = %d" %sum)

    函数的参数:
    参数是写在函数()里面的东东。定义函数时,括号里面的参数是形式参数简称“形参”;调用函数时,括号里面的参数是实际参数简称“实参”。
    参数具体有下面几类:
    位置参数(必填)
    def p_info(name, age,sex):

    默认值参数(非必填)
    def p_info(name, age,sex = '男'):

    可变参数 (*args)
    也叫参数组,非必填,传参时个数不固定,接收的是个元祖
    def post(*args):
    post("001","login","http://www.baidu.com","post","a=1") # 调用时根据实际情况传递的参数可多可少

    关键字参数 (**kwargs)
    非必填,传参时用 key = value 的方式,参数个数不固定,接收的是个字典,也可直接用字典传参
    def p_info(**kwargs):
    p_info(name="张三",age=18,id="001")

    d={"name":"张三","age": 18, "id": "001"}
    p_info(**d) # 直接传字典

    如果参数列表中同时有“位置参数”,“默认值参数”,“可变参数”和“关键字参数”,调用函数时传参的顺序是
    “位置参数”->“默认值参数”->“可变参数”->“关键字参数”
    如果参数都是必填参数且个数较多我们很容易忘记各参数的顺序,可以用指定参数传值的方法,称之为参数的“关键字调用”

    def write(filename, model,e-coding,user,os, money, other):
    write(os='Win7',user='张三',model='w',filename='a.txt',e-coding='utf-8',money=999,other='AAA')
    # 如此可以不按顺序,但个数不能少

    全局变量和局部变量:
    有了函数就会涉及到“全局变量”和“局部变量”的概念。局部变量是定义在函数里的,有函数才有它,函数被调用时该函数的
    局部变量被定义,函数执行结束时,改变量被释放;全局变量是定义在函数之外的可被整个程序共享,只有程序结束时才被释放。
    如果想在函数内操作全局变量,int 和 string型的需要在变量前加global关键字,字典和列表型就不用加global关键字。

    name = "张三"

    def p_info():
    name = "Mike"
    print("name:", name)

    p_info()
    print(name)

    运行结果:
    name: Mike
    张三

    name = "张三"

    def p_info():
    global name
    name = "Mike"
    print("name:", name)

    p_info()
    print(name)

    运行结果:
    name: Mike
    Mike
  • 相关阅读:
    设计模式课程 设计模式精讲 17-2 模板方法模式coding
    设计模式课程 设计模式精讲 17-1 模板方法模式讲解
    设计模式课程 设计模式精讲 16-2,3 代理模式Coding-静态代理-1
    设计模式课程 设计模式精讲 16-1 代理模式讲解
    设计模式课程 设计模式精讲 15-3 桥接模式源码解析
    设计模式课程 设计模式精讲 15-2 桥接模式Coding
    HTML 文档之 Head 最佳实践
    CSS深入理解学习笔记之line-height
    webRTC实战总结
    浅析CSS里的 BFC 和 IFC
  • 原文地址:https://www.cnblogs.com/houzhizhe/p/6950551.html
Copyright © 2020-2023  润新知