ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python学习笔记第五天

2021-12-13 15:00:06  阅读:133  来源: 互联网

标签:函数 Python demo 局部变量 笔记 参数 第五天 全局变量 name


函数编程:

死循环---->while True:

把重复的代码提取出来放到公共的地方起个名字,当想用这个代码的时候调用这个名字就可以使用。这就是一个函数。函数可以减少重复代码。

函数的定义和语法特性:

定义:函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可。

编程中的函数也有很多的叫法:BASIC语言中叫做subroutine(子过程或子程序),在C中只有function,在JAVA里面叫做method。

特性:

减少重复代码;

使程序变得可扩展;

使程序变得易维护。

语法定义:

def abc():        #函数名,括号内可以定义参数
    
abc()            #调用函数

函数的各种参数:

形参,实参:

默认参数:默认参数需要写在后面。因为默认参数可以不写,写在中间,程序就会报错。

根据位置进行一一对应的就叫位置参数

关键参数(指定参数),在赋值时指定它的名字,加了参数名就叫关键参数,调用时关键参数必须放在位置参数之后。调用时多次调用重复赋值,会报错。

优先级:位置参数> 关键参数

非固定参数:若函数在定义时不确定用户想传入多少个参数,就可以使用非固定参数。

        *args & **kwargs ,*后面可以自己定义,但通用是args 和kwargs。

def demo(name,age,*args)        # *args会把多传入的参数变成一个元组形式
demo(Icey,28,China",engineer)


def demo(name,age,**kwargs)    # **kwargs会把多传入的参数变成一个字典形式
demo(Icey,28,addr="China",job="engineer")

函数的返回值

1.函数外部的代码要想获取函数的执行结果,就可以在函数里用return语句把结果返回。

         在return存到函数的状态可以在外部调用。

def demo(name,age)
    print("名字",name)
    print("名字",age)
    if age > 22;
        return False
    else:
        return True

judge = demo("Icey",27)
print(judge)
if judge :
    print("成功")
else:
    print("失败")

2.程序执行一遇到return就代表函数的结束。

3.如果函数中没有指定return的值,则返回none。

局部变量&全局变量

在函数内部定义的变量都叫局部变量,只在函数内部生效,当函数执行完毕后,所有变量都会释放掉。局部变量的作用域是定义该变量的函数。

在函数一开始定义的变量就是全局变量。全局变量的作用域是整个程序。

  1. 变量的查询顺序:局部变量>全局变量
  2. 当全局变量和局部变量同名时,在定义局部变量的函数内,局部变量起作用,在其他地方全局函数起作用。
  3. 在函数里是不能直接修改全局变量的值。想修改是,用global 来声明一个全局变量(不建议)。
    name = "Icey"
    def demo():
        global name         #声明一个全局变量
        name = "Jon"
    
    print(name)
        

函数里传递列表、字典产生的现象?

当列表和字典传递到函数内时,可以更改它们里面的数据,不能更改列表和字典本身。

列表参数传递给函数后, 函数就可以对其进行修改。注意: 在函数中对列表所进行的任何修改都是永久性的。

常用的内置函数:

Python 内置函数 | 菜鸟教程

标签:函数,Python,demo,局部变量,笔记,参数,第五天,全局变量,name
来源: https://blog.csdn.net/qq_42440838/article/details/121268197

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有