函数局部变量 全局变量 及其作用域 #简单类型(int str等)变量的局部变量与全局变量及其作用域的关系

name = "xxx" #第一级顶头定义的变量都称为全局变量,其作用域从变量定义的位置开始到此程序结束

def Print_Name():

print("name before change:", name)

#由于name在此函数之前已经被定义为全局变量,此处函数读取变量name是读取的全局变量name “xxx”,函数内部就不能再定义其同名局部变量,否则无法区分变量为局部变量还是全局变量

# name = "yyy" #此语句放开以后会报错:IndentationError: unindent does not match any outer indentation level

Print_Name()

def Change_Name():

name = "yyy" #函数内部首先定义全局变量的同名局部变量,则整个函数内部操作的为局部变量(一个与全局变量同名的临时变量)

print("name after change is", name)

Change_Name() # yyy实际输出的是局部变量的值

print("global name is", name) # xxx此处访问的是全局变量,因为此print语句不是在Change_Name内部。

#函数内部需要强制对全局变量进行修改,使用global关键字

def Change_global_Name():

global name

print("name before change is :", name)

name = "yyy"

Change_global_Name() # xxx 修改前的全局变量

print("global name is :", name) # yyy此处由于函数内强制声明name为global变量,整个函数内部可以对global进行操作

#复杂数据类型列表 集合 字典等复杂数据结构如果函数外部定义了函数里面是可以不用global声明也操作的是全局变量,没有局部变量一说了

names = ['111', '222', '333']

def Change_Names():

names[0] = "444"

print("in function names :", names)

Change_Names() #in function names : ['444', '222', '333']

print("global names :", names) #in function names : ['444', '222', '333'] 对于复杂的数据类型,函数内直接操作全局变量,不会再生成局部变量

递归 #函数内部可以调用其它函数,如果函数在内部调用自己就被称为递归函数

def Half_fun(n):

print(n)

if n < 2:

return n

Half_fun(n/2)

Half_fun(100)

#递归特性:1、必须有一个明确的结束条件 2、每次递归调用问题复杂度需要相比上次简化 3、递归会占用大量内存

以上实例很简单,大家可以本次测试下,感谢你的阅读和对聚米学院的支持。

python 函数递归一次增加一次变量_python函数局部变量、全局变量、递归知识点总结...相关推荐

  1. python 函数递归一次增加一次变量_python基础之函数、返回值,局部变量、全局变量,递归(继续补充不定长参数)...

    1.python中函数定义:函数是逻辑结构化和过程化的一种编程方法.(完成某一种特定的功能) def test02(): #"" msg = 'hello WuDaLang' re ...

  2. python 函数递归一次增加一次变量_python3 --函数(函数,全局变量和局部变量,递归函数’)...

    1.1函数 1.1.1什么是函数 函数就是程序实现模块化的基本单元,一般实现某一功能的集合. 函数名:就相当于是程序代码集合的名称 参数:就是函数运算时需要参与运算的值被称作为参数 函数体:程序的某个 ...

  3. python 函数递归一次增加一次变量_python3--函数(函数,全局变量和局部变量,递归函数)...

    1.1函数 1.1.1什么是函数 函数就是程序实现模块化的基本单元,一般实现某一功能的集合. 函数名:就相当于是程序代码集合的名称 参数:就是函数运算时需要参与运算的值被称作为参数 函数体:程序的某个 ...

  4. python中、函数定义可以不包括以下一对圆括号_Python函数的基础学习

    一.函数分类 (1)内置函数.Python语言内置了若干常用的函数,例如abs().len()等等,在程序中可以直接使用. (2)标准库函数.Python语言安装程序同时会安装若干标准库,例如math ...

  5. python 函数变量_Python函数中的变量和函数返回值

    1.函数的变量 局部变量和全局变量: Python中的任何变量都有特定的作用域 在函数中定义的变量一般只能在该函数内部使用,这些只能在程序的特定部分使用的变量我们称之为局部变量 在一个文件顶部定义的变 ...

  6. Python中的包以及跨目录访问变量和函数(同级目录)

    包 1.包是一种管理python模块命名空间的形式,采用"点语法",避免文件或者文件夹的命名冲突的情况 可以创建一个目录,在目录下面创建一个名称为  __init__.py的文件( ...

  7. python函数调用时的实参和形参之间传递_python 函数(实参与形参、传递参数)...

    函数 什么是函数?函数是带名字的代码块,用于完成具体的工作.写出一个函数后,就可以一直调用. 定义函数,函数的基本组成: 1.1 向函数传递参数 向函数中传递任意参数,这样打印出的结果就可以根据自己的 ...

  8. python函数的使用方法_百度资讯搜索_python函数的使用方法

    金生水起程序猿 2020年11月22日 11:23函数语法格式及调用参数:默认值.元组和字典可变参数的使用全局变量和局部变量作用域,局部变量如何升级为全局变量函数是可重复使用的,实现单一功能的代码块. ...

  9. python函数可以按照参数名称方式传递参数_python函数传入参数(默认参数、可变长度参数、关键字参数)...

    1.python中默认缺省参数----定义默认参数要牢记一点:默认参数必须指向不变对象! 1 def foo(a,b=1):2 printa,b3 4 foo(2) #2 1 5 foo(3,100) ...

最新文章

  1. R语言attach函数、detach函数(全局注册或者全局解除)实战
  2. ASP.NET中gridview获取当前行的索引值
  3. 百倍提升张量计算:谷歌开源TensorNetwork
  4. Rocket - diplomacy - AddressAdjuster
  5. SSH-publickey
  6. Linux基础命令---shutdown
  7. React Native封装Toast与加载Loading组件
  8. centos(7) 使用yum进行安装lamp环境
  9. python如何读取文件夹下的子文件夹
  10. Okhttp 源码解析
  11. C++(STL):10---vector空间分配
  12. mysql事务会不会上锁_MySQL事务以及加锁机制
  13. 浅谈API测试与UI Auomation一点心得
  14. 解决CentOS java环境不生效的问题
  15. 文件服务和对象存储服务器,对象存储与块存储服务
  16. 从源码理解Bean的生命周期执行顺序
  17. 欧盟gmp中的计算机系统验证,欧盟GMP中的计算机系统验证
  18. UnrealVS插件使用简介(UBT编译,UE4热更新)
  19. u-boot-2016.09 make工具之fixdep
  20. 2022-2028年全球与中国马铃薯淀粉生产线行业发展趋势及竞争策略研究

热门文章

  1. android studio多屏幕,为多个屏幕实现多个布局但在android studio 2.1中无法工作
  2. python3 多线程_Python3多线程爬虫实例讲解
  3. python __call__一般用在哪些地方_Python __call__内置函数的作用和用法
  4. java swing 打开文件_java swing实现打开Excel文件并进行处理
  5. 怎么修改服务器上的cpt文件,DELL-服务器-RAID-配置详解(28页)-原创力文档
  6. 删除文件夹下所有的文件_VB删除文件和文件夹的方法
  7. 模拟电路概念知识体系梳理(基础部分)
  8. windows server 驱动精灵_还在用Windows文件共享?我来教你一键摆脱Windows海量小文件使用和备份的噩梦...
  9. IDEA快捷键及xml文件中网址报错
  10. win10只有edge浏览器能上网的解决方法