05 2019 档案

函数-函数进阶-迭代器
摘要:迭代器 我们已经知道,可以直接用作于for循环的数据类型有以下几种: 一类是集合数据类型,如list、tuple 、dict 、set、str等; 一类是generator包括生成器和带yield的gunerator function。 这些可以直接作用 for循环的对象统称为可迭代人:Iterab 阅读全文

posted @ 2019-05-29 10:36 kingforn 阅读(170) 评论(0) 推荐(0)

函数-函数进阶-生成器send方法
摘要:一个函数有yield在里面就变成一个生成器 函数有了yield之后 1.函数名加()就变得到了生成器 2.return 在生成器里,代表 生成器的中止,直接报错 next 唤醒生成器并继续执行 send(‘stop’) 1.唤醒并继续执行 2.发送一个信息到生成器内部。 阅读全文

posted @ 2019-05-28 20:42 kingforn 阅读(490) 评论(0) 推荐(0)

函数-函数进阶-函数写生成器
摘要:生成器的创建方式: 1.列表生成式() 2.函数 yield vs return return 返回并中止function yield 返回 数据,并冻结当前的执行过程。。。 next 唤醒冻结的执行过程,继续执行,知道遇到下一个yield。 阅读全文

posted @ 2019-05-28 20:21 kingforn 阅读(189) 评论(0) 推荐(0)

函数-函数进阶-生成器调用方法
摘要:>>> a = (i for i in range(10))>>> while True:... print(next(a))...0123456789Traceback (most recent call last): File "<stdin>", line 2, in <module>Stop 阅读全文

posted @ 2019-05-28 15:21 kingforn 阅读(474) 评论(0) 推荐(0)

函数-函数进阶-斐波那契
摘要:我们讲过,generator保存的是算法,每次调用next(g) 就计算出g 的下一个元素的值,直到计算到最后一个元素,没有更多的元素时,抛出stopIteration 的错误 当然,上面这种不断调用 next(g) 实在是太变态了,正确的方法是使用for循环,因为generator也是可迭代对象: 阅读全文

posted @ 2019-05-28 14:54 kingforn 阅读(509) 评论(0) 推荐(0)

函数-函数进阶-列表生成式
摘要:>>> a = list(range(10))>>> a[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]>>> a = [i+1 if i<10 else i*i for i in a]>>> a[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]>>> 阅读全文

posted @ 2019-05-24 20:01 kingforn 阅读(146) 评论(0) 推荐(0)

函数-函数进阶-装饰器带参数2
摘要:user_state = Falsedef login(auth_tpye): def out(func): def inner(*args,**kwargs): global user_state db = {'kingforn': 'abc123', 'alex': 'abc!@#'} if u 阅读全文

posted @ 2019-05-24 16:08 kingforn 阅读(216) 评论(0) 推荐(0)

函数-函数进阶-装饰带参数的函数
摘要:user_state = Falsedef login(func): def inner(*args,**kwargs): global user_state db = {'kingforn': 'abc123', 'alex': 'abc!@#'} if user_state == False: 阅读全文

posted @ 2019-05-24 14:29 kingforn 阅读(210) 评论(0) 推荐(0)

函数-函数进阶-装饰器流程分析
摘要:老王:算了,估计你也想不出来。。。学过嵌套函数没有? 你:yes,然后呢? 老王:想实现一开始你写的america = login(america)不触发你函数的执行,只需要在这个login里面再定义一层函数,第一次调用america = login(america) 用到外层login ,这个lo 阅读全文

posted @ 2019-05-24 10:56 kingforn 阅读(155) 评论(0) 推荐(0)

函数-函数进阶-装饰器
摘要:想象一下: 你是一家视频网站的后端开发工程师,你们网站有以下几个版本: def home(): print(" 首页 ") def america(): print(" 欧美专区 ") def japan(): print(" 日韩专区 ") def henan(): print(" 河南专区 ") 阅读全文

posted @ 2019-05-24 10:12 kingforn 阅读(138) 评论(0) 推荐(0)

函数-函数进阶-闭包
摘要:def func(): n = 10 def func2(): print('func2', n) return func2 f = func() print(f) f() 执行结果 func2: 10 这就是闭包 阅读全文

posted @ 2019-05-23 09:47 kingforn 阅读(88) 评论(0) 推荐(0)

函数-函数进阶-作用域的查找空间
摘要:n = 10 def func() n = 20 print('func:',n) def func2() n = 30 print('func2',n) def func3() print('func3',n) func3() func2() func() 执行结果: func:20 func2: 阅读全文

posted @ 2019-05-23 08:18 kingforn 阅读(122) 评论(0) 推荐(0)

函数-函数进阶-命名空间
摘要:命名空间又称名称空间 又名name space,顾名思义就是存放名字的地方,存声明名字呢?举例说明,若变量x=1,1存放在内存中,那名字x存放在哪里呢? 名称空间正是存放名字x与1绑定关系的地方 名称空间共3种,分别如下: locals:是函数内的名称空间,包括局部变量和形参 globals:全局变 阅读全文

posted @ 2019-05-22 15:37 kingforn 阅读(138) 评论(0) 推荐(0)

函数内置方法
摘要:python 的len为什么你可以直接用?肯定是解释器启动时就定义好了! abs() dict() help() min() setattr() all() dir() hex() next() slice() any() divmod() id() object() sorted() ascii( 阅读全文

posted @ 2019-05-21 14:39 kingforn 阅读(132) 评论(0) 推荐(0)

递归的作用
摘要:求阶乘: 任何大于1的自然数n阶乘表示方法: n!= 1*2*3*4*......*n 或 n! = n*(n-1)! 即举例:4!= 4*3*2*1 =24 阅读全文

posted @ 2019-05-20 12:46 kingforn 阅读(488) 评论(0) 推荐(0)

递归的特性总结
摘要:def count(n): v = int(n/2) print(v) if v == 0: return 'Done' count(v) print(v) count(10) #执行结果: 5 2 1 0 1 2 5 总结递归的机柜特点: 1.必须有一个明确的结束条件,要不就会变成死循环了,最终撑 阅读全文

posted @ 2019-05-20 12:17 kingforn 阅读(1155) 评论(0) 推荐(0)

递归的作用?
摘要:例子10除以2得到的结果一直除以2直到零为止! 用递归来做: def count(n): v = int(n/2) print(v) if v == 0: return 'Done' count(v) 阅读全文

posted @ 2019-05-20 11:10 kingforn 阅读(495) 评论(0) 推荐(0)

递归与栈的关系
摘要:递归与栈的关系: 可是为何执行了900多次就出错了呢?还说超过了最大递归深度现在,为什么要限制呢? 通俗来讲,是因为每个函数在调自己的时候还没有退出,占内存,多了肯定会导致内存崩溃。 本质上讲呢,在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每 阅读全文

posted @ 2019-05-20 10:58 kingforn 阅读(3067) 评论(0) 推荐(0)

递归介绍
摘要:递归就是函数在执行过程调用自己。 def func(n): print(n) func(n+1) python 默认递归次数为1000次,这个默认值是可以修改的。 阅读全文

posted @ 2019-05-20 09:59 kingforn 阅读(133) 评论(0) 推荐(0)

函数-高阶函数
摘要:变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数。 只需满足以下任意一个条件,即是高阶函数: 接受一个或多个函数作为输入 return返回另一个函数 阅读全文

posted @ 2019-05-20 09:40 kingforn 阅读(146) 评论(0) 推荐(0)

函数-匿名函数
摘要:#匿名函数 def calc(x,y): return x*y lambda x,y:x*y #声明一个匿名函数 #想要调用匿名函数先要给他赋个名字 func = lambda x,y:x*y print(func(3,8)) #匿名函数只支持三元运算: lambda x,y:x*y if x<y 阅读全文

posted @ 2019-05-20 09:08 kingforn 阅读(128) 评论(0) 推荐(0)

函数-作用域
摘要:#作用域 #python 中函数就是一个作用域(JavaScript),局部变量放置在作用域中 # c# java中作用域是在{}里 #代码定义完成后,作用域已经生成,作用域链向上查找 阅读全文

posted @ 2019-05-20 08:37 kingforn 阅读(107) 评论(0) 推荐(0)

函数-嵌套函数
摘要:#嵌套函数 def func1(): print(‘alex’) def func2(): print(‘eric’) #1. func() func1() 执行结果: alex #2 .func() def func1(): print(‘alex’) def func2(): print(‘er 阅读全文

posted @ 2019-05-19 23:10 kingforn 阅读(204) 评论(0) 推荐(0)

函数-在函数里修改列表数据
摘要:函数里的整个列表不能重新赋值,但是列表里的内容可以被修改。 除了数字和字符串不可以被修改其他都可以被修改 阅读全文

posted @ 2019-05-19 22:40 kingforn 阅读(829) 评论(0) 推荐(0)

函数-在函数里修改全局变量
摘要:name = ‘Black girl’ def change_name(): global name name = '黑色的姑娘' age = 25 print(‘在’, name, ‘里面。。。’,id(name)) change_name() print(name,id(name)) 执行结果: 阅读全文

posted @ 2019-05-19 21:31 kingforn 阅读(1824) 评论(0) 推荐(0)

函数-局部变量
摘要:#局部变量 name = 'Black girl' def change_name(): name = '黑色的姑娘' print(‘在’,name,‘里面。。’,id(name)) change_name() print(name,id(name)) #执行结果: 在 黑色的姑娘 里面。。 431 阅读全文

posted @ 2019-05-19 21:23 kingforn 阅读(353) 评论(0) 推荐(0)

函数-返回值
摘要:函数外部的代码想要获取函数的执行结果,就可以在函数里用return语句把结果返回。 def stu_register(name,age,course='py',country='cn') print( 注册学生信息 ) print(‘姓名’,name) print(‘age’,age) print( 阅读全文

posted @ 2019-05-19 20:58 kingforn 阅读(241) 评论(0) 推荐(0)

函数-非固定参数
摘要:# 刚才你写的报警,发给某个人。 def send_alert(msg,user) #那如果公司规模扩大了,要求发给10个人或更多怎么办呢? #难道你要重复敲10行或更多的代码? def send_alert(msg,user1) def send_alert(msg,user2) def send 阅读全文

posted @ 2019-05-19 20:23 kingforn 阅读(107) 评论(0) 推荐(0)

函数-关键参数
摘要:正常情况下,给函数传参数要按顺序,不想按顺序就可以用关键参数,只需指定参数名即可(指定了参数名的参数就叫关键参数), 但记住一个要求就是,关键参数必须放在位置参数(以位置顺序确定对应关系的参数)之后 def stu_register(name,age,course='py',country='cn' 阅读全文

posted @ 2019-05-19 15:55 kingforn 阅读(353) 评论(0) 推荐(0)

函数-默认参数
摘要:参数可以让你的函数更灵活,不能只做死的动作,还可以根据调用时传参的不同来决定函数内部的执行流程。 形参变量: 只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只在函数内部有效。函数调用结束返回主调用函数后则不能再使用该形参变量。 实参: 可以是常量、变量、表达式、函数 阅读全文

posted @ 2019-05-19 11:30 kingforn 阅读(120) 评论(0) 推荐(0)

函数
摘要:函数是什么? 函数一词来源于数学,但编程中的【函数】概念,与数学中的函数是有很大不同的,具体区别, 我们后面会讲,编程中的函数在英文中也有很多不同的叫法。在BASIC中叫做subroutine(子过程或子程序), 在Pacscal中叫做procedure(过程)和function,在c中只有func 阅读全文

posted @ 2019-05-19 10:44 kingforn 阅读(166) 评论(0) 推荐(0)

文件处理-文件修改功能
摘要:修改文件 f = open('兼职白领学生空姐模特护士联系方式utf-8.txt',‘r+’,encoding='utf-8') f.seek(6) f.write('[路飞学城]') f.close() 读一行修改一行 边读边修改存新的文件里 f_name = '兼职白领学生空姐模特护士联系方式. 阅读全文

posted @ 2019-05-18 15:31 kingforn 阅读(129) 评论(0) 推荐(0)

文件处理-文件操作做其他功能
摘要:def fileno (self, *args, **kwargs): # real signature unknown 返回文件句柄在内核中的索引值, 以后做I0多路复用时可以用到 def flush (self, *args, **kwargs): # real signature unknow 阅读全文

posted @ 2019-05-18 14:38 kingforn 阅读(130) 评论(0) 推荐(0)

文件处理-混合操作文件
摘要:既能读也能写的模式叫读写混合模式(R+) 读写模式打是先读后写支持追加 f = open('兼职白领学生空间模特护士联系方式.txt',‘r+’, encoding='gbk') data = f.read() #可读内容 print(data) f.write('\nblack girl 河北 1 阅读全文

posted @ 2019-05-18 13:38 kingforn 阅读(262) 评论(0) 推荐(0)

文件处理-追加模式操作文件
摘要:把内容追加到文件尾部 f = open(‘兼职白领学生空间模特护士联系方式.txt’, 'a' ,encoding='gbk') f.write('\n杜删删 北京 167 49 13324523342') f.close() 阅读全文

posted @ 2019-05-17 11:23 kingforn 阅读(328) 评论(0) 推荐(0)

文件处理-写模式操作文件
摘要:比如一个文件非常大好几个G ,我们如果一下子读全部读到内存里,会造成电脑奇慢无比而且会死机。 那怎么办呢? 能不能我们读一点处理一点。 这种思路是可以行的,涉及到循环文件。 f = open ('兼职白领学生空间模特护士联系方式.txt','r',encoding='gbk') for Line i 阅读全文

posted @ 2019-05-17 11:15 kingforn 阅读(122) 评论(0) 推荐(0)

文件处理-智能检测编码的工具
摘要:假如你不知道你要处理的文件是什么编码课怎么办呢? chardet 模块具有自动检测编码功能(需要安装第三方工具包) #pip3 instatll chardet import chardet f = open('log', mode='rb') data = f.read() f.close() r 阅读全文

posted @ 2019-05-17 10:10 kingforn 阅读(816) 评论(0) 推荐(0)

文件处理-二进制模式
摘要:在一种不知道文件用什么编码存的,你又想把他读出来怎么办呢? 那就涉及到用二进制编码读取。 f = open (file ='兼职白领学生空姐模特护士联系方式.txt',mode='rb') rb 意思就是用二进制只读模式 二进制模式是给机器看的(不给人看)。比如网络传输等等 阅读全文

posted @ 2019-05-16 11:19 kingforn 阅读(283) 评论(0) 推荐(0)

文件处理
摘要:给你一个文件 xxx.txt ,如何查看内容? 1.安装文本编辑器软件 2.选中右键,利用文本编辑器软件打开 3.查看or写入 4.保存,关闭 我们用python 打开的步骤: 读、写、修改、我们先从读开始学习: f = open(file='d:/工作日常/兼职白领学生空姐模特护士联系方式.txt 阅读全文

posted @ 2019-05-16 10:58 kingforn 阅读(143) 评论(0) 推荐(0)

三元运算
摘要:三元运算又称三目运算,是对简单的条件语句的简写,如: 简单条件语句: if 条件成立: val = 1 else: val = 2 改成三元运算: val = 1 if 条件成立 else 2 阅读全文

posted @ 2019-05-16 10:29 kingforn 阅读(429) 评论(0) 推荐(0)

python 第二章 二进制运算、字符编码、数据类型
摘要:>>> len(s.ljust(50,'*'))50>>> 1.二进制转换: bin(342) '0b101010110' 2.ASCII码与二进制: 每一个ASCII码都是用8位表示,ASCII码一共有255个。每一位0或者1所占的空间单位为bit(比特),这是计算机中最小的表示单位,8位表示一个 阅读全文

posted @ 2019-05-03 07:28 kingforn 阅读(922) 评论(0) 推荐(0)