码迷,mamicode.com
首页 > 其他好文 > 详细

day4

时间:2016-08-19 12:51:27      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:

###第一个知识点:函数即变量

#嵌套调用 ‘‘‘ def bar()     print(‘in the bar‘) ‘‘‘ ‘‘‘ 函数的调用方式 变量的调用方式 调用的方式不同 内存的回收机制 解释器如何回收变量: python中的内存回收机制     引用计数(多次引用),     回收的时间:变量名的回收,不是值的回收 在什么时候会回收     自己设定回收?     没有删除(del),就会一直调用 匿名函数???     不定义名字的函数     后面讲怎么使用???

    lambda 匿名函数如何存储     匿名函数没有普通方式   =     会马上回收掉

小结:     函数就是变量

‘‘‘ ‘‘‘ 诠释代码     1.先声明,再调用的顺序很重要     2.轮询调用     3.变量定义顺序的改变(先后顺序)不影响结果的正确出现

变量过程     1.定义(声明)     2.调用

    先定义再使用     调用之前能够声明,就可以调用

小结:     1.函数即变量

高阶函数 定义??? 满足条件之一即可     1.把一个函数名当做实参传给另外一个函数(在不修改被装饰函数源代码的情况下为其添加功能)     2.返回值中包含函数名(不修改函数的调用方式)     返回值包含内容???!!!     即:---------函数即变量 ‘‘‘ ‘‘‘ 写一个高阶函数 1. 2. 满足两个条件各写一个 使用pycharm的debug功能,查询一步步的执行过程

运行内存地址 返回结果

3.嵌套函数     在函数体内重新声明一个函数,内中内

高阶函数+嵌套函数=====》装饰器

往上面靠 装饰器的作用??? ‘‘‘ ‘‘‘ import time def timer(func):     def deco(name,age):         start_time=time.time()         func(name,age)         stop_time = time.time()         print("The func run time is %s" %(stop_time-start_time))     return  deco #@timer #def test1():     time.sleep(3)     print(‘in the test1‘) @timer def test2(name,age):     time.sleep(3)     print(‘test2:‘,name,age) test1() test2("linusxy",23)

‘‘‘ ‘‘‘ 语法糖 语法式 依据语法执行,语法的先后执行顺序 1.嵌套 2.语法 3.调用 4.先后顺序 ‘‘‘ ‘‘‘ 装饰器    面试必考 列表怎么切片 ‘‘‘

‘‘‘ 迭代器,生成器 上周剩余的内置函数

列表生成式

列表的定义(文字说明) 生成器(文字说明) 列表生成式----列表生成器

由列表生成式依靠一定的算法推导出列表生成器 generator

列表生成式:由什么组合而成 只是生成一种规则,只能依靠访问才能生成数据

生成器不能通过切片去取数值,只能意义生成 切片,下标 next 小结: 1.生成器只有调用时才能生成相应的数据   不要使用定式来限制想法 2.生成器只记住当前的位置;只能要规则推导 3.只有一个: __next__()  ----3.x next()      ----2.7 成生成器可以生成什么???     是否只有数字

生成器是如何生成的? 是否还有别的方式来做生成器

循环+生成器,通过for一个一个去调取

函数+生成器

规则的使用for循环 不规则:婓波拉契数列(Fibonacci)

由函数变成生成器 : yield b     边执行,变修改,打印; return的作用:异常消息打印 ‘‘‘ ‘‘‘ def fib(max):     n,a,b = 0,0,1     while n < max:         yield b         a,b = b,a+b         n = n + 1     return ‘------done-------‘ g = fib(6) while True:     try:         x = next(g)         print(‘g:‘,x)     except StopIteration as e:         print(‘Generator return value:‘,e.value)         break print("------------daaaaaaaaaaaaaaa") print(f.__next__()) print("============") print(f.__next__()) print(f.__next__()) print(f.__next__()) print(f.__next__())

‘‘‘

‘‘‘ 省内存 单线程  串行执行 单线程并发 yield:保存函数的中断状态 反向引用 单线程下的并行效果

异步 I/O  epoll Nginx

协程  ----比线程更简单的线程

持续集成???bamboo,jenkins ‘‘‘ ‘‘‘ import time def consumer(name):     print("%s 准备吃包子啦!" %name)     while True:         baozi  = yield         print("包子[%s]来了,被[%s]吃了!" %(baozi,name)) c = consumer("Linusxy") c.__next__()

def producer(name):     c = consumer(‘A‘)     c2 = consumer(‘B‘)     c.__next__()     c2.__next__()     print("老子开始准备做包子啦!")     for i in range(10):         time.sleep(1)         print("做了1个包子,分两半!")         c.send(i)         c2.send(i) producer("Linusxy")

‘‘‘

‘‘‘ 迭代器 可以直接作用于for循环的数据类型 一类是数据集合类型,如:list tuple dict set str等

 

迭代器与可迭代对象 生成器就是一个迭代器,有next方法 迭代器不一定是生成器

惰性计算

凡是可作用于for循环的对象都是Iter

socket传输文件----迭代器,比较重要的概念 ‘‘‘

‘‘‘ 内置函数 详细讲解 ‘‘‘ ‘‘‘ print(all([,-5,3])) 非0为真 ‘‘‘ ‘‘‘ any 有一个数据为真,就返回真

all和any的区别 ‘‘‘ ‘‘‘ ascii repr ‘‘‘ ‘‘‘ bin 将数据转成二进制,然后再进行各种运算 ‘‘‘ ‘‘‘ chr(i)  显示返回ASCII码 ord(i) 输入字符显示

compile  把代码进行编译的过程 complex delattr dict dir divmod eval 把一个字符串编译字典 exec filter :     匿名函数 lambda   需要结合着去使用          filte 先全局,再缩写

三元运算

float frozenset   不可变集合

getattr grobal  显示程序中的所有变量 hash 哈希  散列 算法 Python字典的一一对应映射关系 哈希-----映射关系;角度不同,解释不同,     1.从数据     2.从方式     3.从表现 折半查找----哈希

hex(x)  将数字转成16进制

iter  迭代器

globals

max:返回列表最大值

next:

class object

oct(x):转八进制

ord

print

range

repr(object)

reversed(seq)

round :

setattr:

slice:

sorted:排序 字典特点:无序

sum

super:继承概念

tuple:Python所有的数据对象都是由它产生

vars:返回一个对象的所有属性名

zip:拉链配合 map 用法

__import__(‘decorator‘):会比较常用

所有的内置方法

 

json序列化 文件只能存储字符串和二进制

xml: 标记,被替代 json:数据交互的方式,java只认识json 序列化。反序列化

pickle:只有在python本语言可以使用

load dump

写程序: 只dump一次,只loads一次 每一个快照存一个文件,

文件目录代码规范

 

 

 

 

 

‘‘‘

 

 

 

 

 

 

###第一个知识点:函数即变量

#嵌套调用 ‘‘‘ def bar()     print(‘in the bar‘) ‘‘‘ ‘‘‘ 函数的调用方式 变量的调用方式 调用的方式不同 内存的回收机制 解释器如何回收变量: python中的内存回收机制     引用计数(多次引用),     回收的时间:变量名的回收,不是值的回收 在什么时候会回收     自己设定回收?     没有删除(del),就会一直调用 匿名函数???     不定义名字的函数     后面讲怎么使用???

    lambda 匿名函数如何存储     匿名函数没有普通方式   =     会马上回收掉

小结:     函数就是变量

‘‘‘ ‘‘‘ 诠释代码     1.先声明,再调用的顺序很重要     2.轮询调用     3.变量定义顺序的改变(先后顺序)不影响结果的正确出现

变量过程     1.定义(声明)     2.调用

    先定义再使用     调用之前能够声明,就可以调用

小结:     1.函数即变量

高阶函数 定义??? 满足条件之一即可     1.把一个函数名当做实参传给另外一个函数(在不修改被装饰函数源代码的情况下为其添加功能)     2.返回值中包含函数名(不修改函数的调用方式)     返回值包含内容???!!!     即:---------函数即变量 ‘‘‘ ‘‘‘ 写一个高阶函数 1. 2. 满足两个条件各写一个 使用pycharm的debug功能,查询一步步的执行过程

运行内存地址 返回结果

3.嵌套函数     在函数体内重新声明一个函数,内中内

高阶函数+嵌套函数=====》装饰器

往上面靠 装饰器的作用??? ‘‘‘ ‘‘‘ import time def timer(func):     def deco(name,age):         start_time=time.time()         func(name,age)         stop_time = time.time()         print("The func run time is %s" %(stop_time-start_time))     return  deco #@timer #def test1():     time.sleep(3)     print(‘in the test1‘) @timer def test2(name,age):     time.sleep(3)     print(‘test2:‘,name,age) test1() test2("linusxy",23)

‘‘‘ ‘‘‘ 语法糖 语法式 依据语法执行,语法的先后执行顺序 1.嵌套 2.语法 3.调用 4.先后顺序 ‘‘‘ ‘‘‘ 装饰器    面试必考 列表怎么切片 ‘‘‘

‘‘‘ 迭代器,生成器 上周剩余的内置函数

列表生成式

列表的定义(文字说明) 生成器(文字说明) 列表生成式----列表生成器

由列表生成式依靠一定的算法推导出列表生成器 generator

列表生成式:由什么组合而成 只是生成一种规则,只能依靠访问才能生成数据

生成器不能通过切片去取数值,只能意义生成 切片,下标 next 小结: 1.生成器只有调用时才能生成相应的数据   不要使用定式来限制想法 2.生成器只记住当前的位置;只能要规则推导 3.只有一个: __next__()  ----3.x next()      ----2.7 成生成器可以生成什么???     是否只有数字

生成器是如何生成的? 是否还有别的方式来做生成器

循环+生成器,通过for一个一个去调取

函数+生成器

规则的使用for循环 不规则:婓波拉契数列(Fibonacci)

由函数变成生成器 : yield b     边执行,变修改,打印; return的作用:异常消息打印 ‘‘‘ ‘‘‘ def fib(max):     n,a,b = 0,0,1     while n < max:         yield b         a,b = b,a+b         n = n + 1     return ‘------done-------‘ g = fib(6) while True:     try:         x = next(g)         print(‘g:‘,x)     except StopIteration as e:         print(‘Generator return value:‘,e.value)         break print("------------daaaaaaaaaaaaaaa") print(f.__next__()) print("============") print(f.__next__()) print(f.__next__()) print(f.__next__()) print(f.__next__())

‘‘‘

‘‘‘ 省内存 单线程  串行执行 单线程并发 yield:保存函数的中断状态 反向引用 单线程下的并行效果

异步 I/O  epoll Nginx

协程  ----比线程更简单的线程

持续集成???bamboo,jenkins ‘‘‘ ‘‘‘ import time def consumer(name):     print("%s 准备吃包子啦!" %name)     while True:         baozi  = yield         print("包子[%s]来了,被[%s]吃了!" %(baozi,name)) c = consumer("Linusxy") c.__next__()

def producer(name):     c = consumer(‘A‘)     c2 = consumer(‘B‘)     c.__next__()     c2.__next__()     print("老子开始准备做包子啦!")     for i in range(10):         time.sleep(1)         print("做了1个包子,分两半!")         c.send(i)         c2.send(i) producer("Linusxy")

‘‘‘

‘‘‘ 迭代器 可以直接作用于for循环的数据类型 一类是数据集合类型,如:list tuple dict set str等

 

迭代器与可迭代对象 生成器就是一个迭代器,有next方法 迭代器不一定是生成器

惰性计算

凡是可作用于for循环的对象都是Iter

socket传输文件----迭代器,比较重要的概念 ‘‘‘

‘‘‘ 内置函数 详细讲解 ‘‘‘ ‘‘‘ print(all([,-5,3])) 非0为真 ‘‘‘ ‘‘‘ any 有一个数据为真,就返回真

all和any的区别 ‘‘‘ ‘‘‘ ascii repr ‘‘‘ ‘‘‘ bin 将数据转成二进制,然后再进行各种运算 ‘‘‘ ‘‘‘ chr(i)  显示返回ASCII码 ord(i) 输入字符显示

compile  把代码进行编译的过程 complex delattr dict dir divmod eval 把一个字符串编译字典 exec filter :     匿名函数 lambda   需要结合着去使用          filte 先全局,再缩写

三元运算

float frozenset   不可变集合

getattr grobal  显示程序中的所有变量 hash 哈希  散列 算法 Python字典的一一对应映射关系 哈希-----映射关系;角度不同,解释不同,     1.从数据     2.从方式     3.从表现 折半查找----哈希

hex(x)  将数字转成16进制

iter  迭代器

globals

max:返回列表最大值

next:

class object

oct(x):转八进制

ord

print

range

repr(object)

reversed(seq)

round :

setattr:

slice:

sorted:排序 字典特点:无序

sum

super:继承概念

tuple:Python所有的数据对象都是由它产生

vars:返回一个对象的所有属性名

zip:拉链配合 map 用法

__import__(‘decorator‘):会比较常用

所有的内置方法

 

json序列化 文件只能存储字符串和二进制

xml: 标记,被替代 json:数据交互的方式,java只认识json 序列化。反序列化

pickle:只有在python本语言可以使用

load dump

写程序: 只dump一次,只loads一次 每一个快照存一个文件,

文件目录代码规范

 

 

 

 

 

‘‘‘

 

day4

标签:

原文地址:http://www.cnblogs.com/Linusxy/p/5787108.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!