命名空间 内置命名空间 存放了python解释器为我们提供的名字:print,input...等等,他们都是我们熟悉的,拿过来就可以用的方法. 内置的名字在启动解释器(程序运行前)的时候被加载在内存里. 全局命名空间 放置了我们设置的所有变量名和函数名. 是在程序从上到下被执行的过程中依次加载进内存里. 局部命名空间 函数内部定义的名字. 调用函数的时候.才会产生这个名称空间,函数执行结束的时候,这个名称空间就消失(被释放)了. 使用规则 在局部:可以使用全局.内置命名空间中的名字 在全局:可以…
匿名函数 简介 匿名函数:为了解决那些功能很简单的需求而设计的一句话函数. python 使用 lambda 来创建匿名函数. 所谓匿名,意即不再使用 def 语句这样标准的形式定义一个函数. lambda 只是一个表达式,函数体比 def 简单很多. lambda的主体是一个表达式,而不是一个代码块.仅仅能在lambda表达式中封装有限的逻辑进去. lambda 函数拥有自己的命名空间,且不能访问自己参数列表之外或全局命名空间里的参数. 虽然lambda函数看起来只能写一行,却不等同于C或C+…
楔子 前提,我有一段代码(一个函数). import time def run_time(): time.sleep(0.1) print('我曾踏足山巅') 需求1:现在,我想计算这段代码的运行时间. 我可以这样做: import time def run_time(): start_time = time.time() time.sleep(0.1) print('我曾踏足山巅') end_time = time.time() run_t = end_time - start_time pr…
函数的结构: 函数的返回值: 1.当函数执行时运到return关键字将不再往下执行 def func(): print("hello world!") print("hello world!") return print("hello world!") func() #hello world! #hello world! 2.当函数不写return或者return后面不写值时它的返回值为None def func(): print("h…
def generator(): print(123) yield 1 print(456) yield 2 g = generator() ret = g.__next__() print('***'ret) ret = g.send(None) #send 效果和 next一样 print('***'ret) next与send 归纳: 1.send 获取下一个值得效果和next基本一致 2.只是在获取下一个值得时候,给上一个yield的位置传一个参数 使用send的注意事项 1.第一次使用…
一.生成器函数进阶 需求:求取移动平均数 1.应用场景之一,在奥运会气枪射击比赛中,每打完一发都会显示平均环数! def show_avg(): print('你已进入显示移动平均环数系统!') a = yield avg = a/1 b = yield avg = (a + b)/2 print('目前的平均环数是:') yield avg generator = show_avg() generator.__next__() print(generator.send(10)) # 第一发打了…
知识回顾 在上一周的学习里,我学习了一些学习Python的基础知识下面先简短的回顾一些: 1Python的版本和和安装 Python的版本主要有2.x和3.x两个版本这两个版本在语法等方面有一定的区别.在安装的的时候需要注意.剩下的就是在官网选择适合自己操作系统版本的Python安装即可 2Python的内容编码 接下来就有关Python的内容编码的问题 .Python2.x默认是acsll编码.因此不支持中文.Python 3 则不存在这个问题 因此在Python2.x环境中需要在代码的开始加…
Python学习日记 --day2 1.格式化输出:% s d  (%为占位符 s为字符串类型 d为数字类型) name = input('请输入姓名') age = int(input('请输入年龄')) height = input('请输入身高') job = input('请输入工作') hobbie = input('我的爱好是') msg = '''-------info of %s -------- 姓名: %s 年龄: %d 身高: %s 工作: %s 爱好: %s ------…
数字 int 主要是用于计算的,常用的方法有一种 #既十进制数值用二进制表示时,最少使用的位数i = 3#3的ASCII为:0000 0011,即两位 s = i.bit_length() print(s) 布尔值 bool  True/False while True: 等价于: while 1:   ###较简便 while 1: print('all trule') 字符串 str 字符串的索引与切片 索引:索引既下标,字符串元素从第一个开始,初始索引为0.以此类推. s = 'sdfjs…
以下内容基于python3.4 1. python中的普通函数是怎么运行的? 当一个python函数在执行时,它会在相应的python栈帧上运行,栈帧表示程序运行时函数调用栈中的某一帧.想要获得某个函数相关的栈帧,则必须在调用这个函数且这个函数尚未返回时获取,可能通过inspect模块的currentframe()函数获取当前栈帧. 栈帧对象中的3个常用的属性: f_back : 调用栈的上一级栈帧 f_code: 栈帧对应的c f_locals: 用在当前栈帧时的局部变量; 比如: >>&g…