Python全栈Day 15部分知识点
全局变量与局部变量
约定俗成的规则:全局变量名大写,局部变量名小写。
全局变量没有缩进,顶格写。
如果函数的内容无global关键字,优先读取局部变量,能读取全局变量,无法重新赋值,但是对于可变类型,可以对内部元素进行操作;如果有global关键字,变量本质上就是全局的那个变量,可读取可赋值。
风湿理论:函数即变量
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 hobby=['music','play'] 4 def test(): 5 hobby.append('draw') 6 print('my hobby is:',hobby) 7 test()
输出
my hobby is: ['music', 'play', 'draw']
错误示例1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 hobby=['music','play'] 4 def test(): 5 hobby='what' 6 global hobby 7 print('my hobby is:',hobby) 8 test()
输出
C:\Python3.7.0\python3.exe F:/PycharmProjects/python_s3/day15/全局&局部变量.py
File "F:/PycharmProjects/python_s3/day15/全局&局部变量.py", line 6
global hobby
^
SyntaxError: name 'hobby' is assigned to before global declaration
Process finished with exit code 1
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 name='刚娘' 4 def weihou(): 5 name='陈卓' 6 def weiweihou(): 7 global name 8 name='冷静' 9 weiweihou() 10 print(name) 11 print(name) 12 weihou() 13 print(name)
输出
刚娘
陈卓
冷静
nonlocal指定上一级变量
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 name='刚娘' 4 def weihou(): 5 name='陈卓' 6 def weiweihou(): 7 nonlocal name 8 name='冷静' 9 weiweihou() 10 print(name) 11 print(name) 12 weihou() 13 print(name)
输出
刚娘
冷静
刚娘
函数递归
一个函数在自己内部调用自己。
函数反复调用不叫循环,叫递归。栈保存,占用内存。箱子里套箱子,无限套,总会有极限。递归到最后以后一层层返回
特性:
——必须有一个明确的结束条件
——每进入更深一层递归时,问题规模相比上次递归都应有所减少
——递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用是通过栈这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧,由于栈的大小不是无限的,所以,递归调用次数过多会导致栈溢出)
转载于:https://www.cnblogs.com/chenyuan-1995/p/9660974.html
Python全栈Day 15部分知识点相关推荐
- 最新《老男孩Python全栈开发15期VIP项目实战》
下载地址: 百度网盘 ├─day01 │ │ 01(1).pdf │ │ 01.pdf │ │ │ ├─code │ │ 01 今日主要内容 │ │ 01 今日 ...
- python学习之老男孩python全栈第九期_day019知识点总结——collections模块、时间模块、random模块、os模块、sys模块...
一. collections模块 在内置数据类型(dict.list.set.tuple)的基础上,collections模块还提供了几个额外的数据类型:namedtuple.deque.Counte ...
- python全栈开发 * 22 面向对象 知识点汇总 * 180703
22 面向对象 -----属性,类方法,静态方法,反射一.属性1.属性的定义:将方法伪装成属性,虽然在代码层面上没有任何高深之处,但让其看起来更合理. (类似于属性的方法)class Person: ...
- python学习之老男孩python全栈第九期_day024知识点总结——单继承、多继承
一. 单继承 class A:pass # 父类,也叫基类,也叫超类 class B:pass # 父类,也叫基类,也叫超类 class AB_son(A,B):pass # 子类,也叫派生类 cla ...
- 老男孩python第14期_python学习之老男孩python全栈第九期_day014知识点总结
# 迭代器和生成器 # 迭代器 # 双下方法:很少直接调用的方法,一般情况下,是通过其他语法触发的 # 可迭代的 --> 可迭代协议:含有__iter__的方法( '__iter__' in d ...
- python学习之老男孩python全栈第九期_day004知识点总结
1. 列表list: 列表转换成字符串: s = 'kidd' s1 = '_'.join(s) # 用_连接 字符串转换成列表: split() range(头,尾,步长): [0,1,2,3,4, ...
- 老男孩python第九期_python学习之老男孩python全栈第九期_day004知识点总结
1. 列表list: 列表转换成字符串: s = 'kidd' s1 = '_'.join(s) # 用_连接 字符串转换成列表: split() range(头,尾,步长):[0,1,2,3,4,5 ...
- Python全栈开发记录_第一篇(循环练习及杂碎的知识点)
Python全栈开发记录只为记录全栈开发学习过程中一些难和重要的知识点,还有问题及课后题目,以供自己和他人共同查看.(该篇代码行数大约:300行) 知识点1:优先级:not>and 短路原则:a ...
- Python全栈工程师-第15周-韦玮-专题视频课程
Python全栈工程师-第15周-382人已学习 课程介绍 Python全栈工程师-第15周 课程收益 Python全栈工程师 讲师介绍 韦玮 更多讲师课程 企 ...
最新文章
- Spring 学习笔记
- 超越YOLOv5,1.3M超轻量,高效易用,目标检测领域这一个就够了
- (六)Vue3.0预学习
- for和foreach
- Flask 框架下 Jinja2 模板引擎高层 API 类——Environment
- [Unity2018.3新功能]Prefab嵌套和变体
- max os取消开机启动
- Learn OpenGL(七)——OpenGL中使用着色器的基本步骤及GLSL渲染简单示例
- DataTable 和 DataView 的理解
- How to study Watir?
- SRM596 DIV2 500
- ANSI SQL 定义
- win10显示隐藏文件_u盘内隐藏文件怎么显示 u盘内隐藏文件显示方法【详细步骤】...
- php 应用截图,PHP实现网页截图?
- 利用python爬虫(案例1)--某电影网站的小电影们
- 语音关键词检索实验小结
- 勒索病毒肆虐的原因分析
- 数据库Java项目:在线租房出租房屋系统(java+springboot+maven+mysql)
- 个人面试问答题知识库(一)百面机器学习篇
- 单循环赛贝格尔编排法实现
热门文章
- 机房收费系统之uml图——初版
- php常用20函数,PHP常用函数
- html5面板制作代码,HTML5绘制设备面板
- python查找字符串出现次数_Python 中找出字符串中出现频率最高的字母
- oracle rac ora 12537,解决11gR2 Rac ORA-12537: TNS:connection closed 一例
- python编译环境搭建_python开发环境搭建
- java三角形创建子类_如何创建子类,以便参数属于Java中的子类类型
- 习题8_6与习题9_2
- OpenCV中的特征匹配+单应性以查找对象
- 让人“眼前一亮、不明觉厉”的互联网技术PPT