1.建议小写f: name = "宝元"age = 18sex = "男"msg = F"姓名:{name},性别:{age},年龄:{sex}"msg1 = f"姓名:{name},性别:{age},年龄:{sex}"print(msg)print(msg1)结果: 姓名:宝元,性别:18,年龄:男 姓名:宝元,性别:18,年龄:男 2.表达式:字典取值.列表取值.函数表达式函数计算: def func(a,b): retu…
本章内容: 装饰器 迭代器 & 生成器 re 正则表达式 字符串格式化 装饰器 装饰器是一个很著名的设计模式,经常被用于有切面需求的场景,较为经典的有插入日志.性能测试.事务处理等.装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量函数中与函数功能本身无关的雷同代码并继续重用.概括的讲,装饰器的作用就是为已经存在的对象添加额外的功能. 先定义一个基本的装饰器: ########## 基本装饰器 ########## def orter(func): #定义装饰器 def inner…
Python装饰器.迭代器&生成器.re正则表达式.字符串格式化 本章内容: 装饰器 迭代器 & 生成器 re 正则表达式 字符串格式化 装饰器 装饰器是一个很著名的设计模式,经常被用于有切面需求的场景,较为经典的有插入日志.性能测试.事务处理等.装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量函数中与函数功能本身无关的雷同代码并继续重用.概括的讲,装饰器的作用就是为已经存在的对象添加额外的功能. 先定义一个基本的装饰器: ########## 基本装饰器 ########…
1.while循环:不断的重复着某件事就是循环 2.while循环图解: 3.break:终止当前循环. 4.continue就是跳出本次循环.继续下次循环. 下方代码都不会执行. 改变循环条件来终止循环. 5.打印4-67写法一: count = 4while True: print(count) if count == 67 : break count += 1 打印4-67写法二: count = 4while count < 68 : print(count) count += 1打印4…
函数名的第一类对象及使用,f格式化以及迭代器 1.函数的第一类对象 第一类对象 --特殊点 1.可以当作值被赋值给变量 def func(): print(1) a = func a() 2.可以当作元素存放在容器中 def func() print(1) lst = [func,func,func] for i in lst i() 3.函数名可以当作函数的参数 def func(f): f() def foo(): print(1) func(foo) 4.函数名可以当作函数的返回值 def…
Python函数03/函数名的第一类对象及使用/f 格式化/迭代器/递归 目录 Python函数03/函数名的第一类对象及使用/f 格式化/迭代器/递归 内容纲要 1.函数名的第一类对象及使用 2.f 格式化 3.迭代器 4.递归 5.今日总结 6.今日练习 内容纲要 1.函数名的第一类对象及使用 2.f格式化 3.迭代器 4.递归 1.函数名的第一类对象及使用 第一类对象的的特殊点: 1.可以当做值赋值给变量 # def func(): # print(1) # # print(func) #…
从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能) 本质就是.py结尾的python文件(文件名:test.py,对应的模块名就是test) 包:用来从逻辑上组织模块的,本质就是一个目录(必须带有一个叫__init__.py文件),(package:包,派kez着) 模块的分类 a.标准库(sys,os), lib 目录下(home 目录/pythonXX.XX/lib) b.开源模块,第三方库, 在 lib 下的 site-packages 目录下 c.自定义模块 标准库: t…
1.内置参数     Built-in Functions     abs() dict() help() min() setattr() all() dir() hex() next() slice() any() divmod() id() object() sorted() ascii() enumerate() input() oct() staticmethod() bin() eval() int() open() str() bool() exec() isinstance() o…
目录 1.迭代器&生成器 2.装饰器 a.基本装饰器 b.多参数装饰器 3.递归 4.算法基础:二分查找.二维数组转换 5.正则表达式 6.常用模块学习 #作业:计算器开发 a.实现加减成熟及括号优先级解析 b.用户输入1-2*((60-30+(-40/5)*(9-2*5/3+7/3*99/4*2998+10*568/14))-(-4*3)/(16-3*2))等类似公式后,必须自己解析里面的(),+,-,*,/符号和公式,运算后得出结果,结果必须与真实的计算器所得出的结果一致 1.迭代器&…
迭代器 生成器 一 什么是迭代器协议 1.迭代器协议是指:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个StopIteration异常,以终止迭代 (只能往后走不能往前退) 2.可迭代对象:实现了迭代器协议的对象(如何实现:对象内部定义一个__iter__()方法) 3.协议是一种约定,可迭代对象实现了迭代器协议,python的内部工具(如for循环,sum,min,max函数等)使用迭代器协议访问对象. 1 2 3 4 5 6 7 #序列类型      字符串,…
记得在刚开始学Python的时候,看到可迭代对象(iterable).迭代器(iterator)和生成器(generator)这三个名词时,完全懵逼了,根本就不知道是啥意识.现在以自己的理解来详解下这三者的关系. 一.可迭代对象(iterable) 我们知道,在Python世界里,一切皆对象.对象根据定义的维度,又可以分为各种不同的类型,比如:文件对象,字符串对象,列表对象...等等. 那什么对象才能叫做可迭代对象呢?一句话:“实现了__inter__方法的对象就叫做可迭代对象”,__inter…
# 迭代器和生成器# 迭代器 # 可迭代协议 —— 含有iter方法的都是可迭代的 # 迭代器协议 —— 含有next和iter的都是迭代器 # 特点 # 节省内存空间 # 方便逐个取值,一个迭代器只能取一次. # 生成器 —— 迭代器 # 生成器函数 # 含有yield关键字的函数都是生成器函数 # 生成器函数的特点 #调用之后函数内的代码不执行,返回生成器 #每从生成器中取一个值就会执行一段代码,遇见yield就停止. #如何从生成器中取值: # for :如果没有break会一直取直到取完…
"" 迭代器 什么是迭代器(iterator) 器指的某种工具, 迭代指的是更新换代的过程,例如应用程序的版本更新从1.0 变成 1.1 再1.2 迭代的目的是要根据上一个结果,产生下一个结果,这是一个重复的过程,但不是单纯的重复 迭代器就是,一种根据上一个结果得到下一个结果的工具,简单地说就是一种获取数据的工具 可迭代对象 指的就是可以使用迭代器取出数据的对象 如何判断一个对象是否可迭代,就看这个对象是否提供迭代器,通过对象调用__iter__()来获取迭代器 所有的容器类型(包括字…
可迭代对象:obj.__iter__   迭代器:iter1=obj.__iter() 1iter1.__next__ 2iter2.__next__   迭代器: 优点:不依赖索引             惰性计算,节省内存 缺点:         不如按照索引的取值方便          一次性,只能往后取,不能回退   迭代器的应用: 提供了一种不依赖索引的统一的迭代方法 惰性计算,比如取文件的每一行 判断可是否是可迭代对象和迭代器 from collections import Iter…
本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 1.列表生成式,迭代器&生成器 列表生成式 我现在有个需求,看列表[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],我要求你把列表里的每个值加1,你怎么实现?你可能会想到2种方式 >>> a [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> b = [] >>> for i in a:…
一.装饰器 定义:本质是函数,(装饰其他函数)就是为其它函数添加附加功能 原则:1.不能修改被装饰的函数的源代码 2.不能修改被装饰的函数的调用方式 实现装饰器知识储备: 1.函数及“变量” 2.高阶函数 a.把一个函数名当做实参传给另一个函数(在不修改被装饰器函数源代码的情况下为其添加新功能) b.返回值中包含函数名 3.嵌套函数 高阶函数+嵌套函数 = 装饰器 延迟3秒 import time def test1(): time.sleep(3) print('in the test1')…
本节大纲 迭代器&生成器 装饰器  基本装饰器 多参数装饰器 递归 算法基础:二分查找.二维数组转换 正则表达式 常用模块学习 作业:计算器开发 实现加减乘除及拓号优先级解析 用户输入 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568/14 )) - (-4*3)/ (16-3*2) )等类似公式后,必须自己解析里面的(),+,-,*,/符号和公式,运算后得出结果,结果必须与真实的计算器所得出的结果一致 迭代器&…
迭代器 1.迭代器就是迭代的工具,迭代也可以说成是重复,并且每一次重复都是基于上一次的结果而来的,在python中一切皆对象. 2.可迭代对象:只要拥有__iter__方法的对象都是可迭代对象. 3.可迭代的对象有:python内置的str list tuplie dict set file 都是可迭代对象 特点:内置有__iter__方法的都叫可迭代的对象 迭代器对象 1.迭代器对象的概念 可迭代的对象执行__iter__方法得到的返回值,并且可以迭代对象会有一个__next__方法,并且 文…
python装饰器[1] 首先先明白以下两点 #嵌套函数 def out1(): def inner1(): print(1234) inner1()#当没有加入inner时out()不会打印输出1234,当前层级也就是作用域下必须调用函数才能引用 out1() #函数作用域 def out2(): a = 'aaa' def inner2(): a = 'bbb' print(a) inner2() print(a) out2()#当相同变量处于不同嵌套函数中,会根据作用函数由内而外查找 装饰…
本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 1.列表生成式,迭代器&生成器 列表生成式 孩子,我现在有个需求,看列表[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],我要求你把列表里的每个值加1,你怎么实现?你可能会想到2种方式  普通青年版 a = [1,3,4,6,7,7,8,9,11] for index,i in enumerate(a): a[index] +=1print(a) 原值修改…
python函数-迭代器&生成器 一.迭代器 1 可迭代协议 迭代:就是类似for循环,将某个数据集内的数据可以“一个挨着一个取出来” 可迭代协议: ① 协议内容:内部实现__iter__方法 ② 验证方法:dir()方法.通过dir()方法查看是否含有__iter__方法 ③ __iter__方法的作用:可迭代的数据类型执行__iter__方法后会生成一个迭代器对象 print([1,2].__iter__()) 结果 <list_iterator object at 0x1024784a…
迭代器 迭代器对象:有__next__()方法的对象是迭代器对象,迭代器对象依赖__next__()方法进行依次取值 with open('text.txt','rb',) as f: res = f.__next__() # 第一行内容 print(res) res = f.__next__() # 第二行内容 print(res) 生成器 定义生成器的两种方式: # generator保存的是算法,每次调用next(),就计算出下一个元素的值,直到计算到最后一个元素,没有更多的元素时,抛出S…
1.迭代器 # ### 迭代器 """能被next调用,并不断返回下一个值的对象""" """ 特征:迭代器会生成惰性序列,它通过计算把值依次的返回,一边循环一边计算而不是一次性得到所有数据 优点:需要数据的时候,一次取一个,可以大大节省内存空间.而不是一股脑的把所有数据放进内存. """ # 1.可迭代对象 """ 如果一个数据类型其中的成员包含了__it…
#!/usr/bin/env python# -*- coding: utf-8 -*-#1.迭代器&生成器#生成器#正确的方法是使用for循环,因为generator也是可迭代对象:g = (x*x for x in range(10))for n in g: print(n)#斐波拉契数列(Fibonacci),除第一个和第二个数外,任意一个数都可由前两个数相加得到:#1, 1, 2, 3, 5, 8, 13, 21, 34, ...#斐波拉契数列用列表生成式写不出来,但是,用函数把它打印出…
F. Strings and Queries time limit per test 2.5 s memory limit per test 256 MB input standard input output standard output You are given a set of n strings such that all characters in the strings are 'a', 'b', or 'c'. Also, you are given q queries, su…
iter 迭代iterable 可迭代的 iterator迭代器 dir函数查看一个数据类型内部含有哪些方法 两边带着双下划线的方法叫做"魔术方法","双下方法","内置方法"这些方法都有一个特点:你可以调但是不需要你直接调用 可迭代协议 -- 只要是含有'__iter__'方法的数据类型都是可迭代的是python规定的 : 可迭代类型 和 python语言之间的协议 检测某个变量/值 是不是可迭代的呢?print('__iter__' in d…
一.迭代器 可以进行for循环的 数据类型 str ,list tuple dict set 文件句柄 什么是可迭代对象? 方法一:dir(被测对象) 如果他含有__iter__,那这个对象就叫做可迭代对象. s="abcd" print # # l = [1,2,3,4]# # print("_iter_" in dir(l))#判断是否为迭代对象## # l1=l.__iter__()# # print(l1)# 将l 列表转换成迭代器# # #<list…
摘自: http://iteye.blog.163.com/blog/static/18630809620121166622410/ MyEclipse中Ctrl+Shift+F快捷键格式化代码时不换行 2012-12-06 18:06:22|  分类: eclipse |  标签:myeclipse  eclipse  |举报|字号 订阅     Eclipse 格式化代码时不换行 每次用Eclipse自带的Ctrl+shift+f格式化代码时,如果原来的一行代码大于80列,Eclipse就会…
回顾下上次的内容 转码过程: 先decode  为 Unicode(万国码 ) 然后encode 成需要的格式     3.0 默认是Unicode  不是UTF-8 所以不需要指定  如果非要转为UTF-8  就再指定 变量的查找顺序: 1 从里往外找,先找自己本地的local  没有就会去上一级找,直到找到此变量,     全局变量不能在函数里改变指的是纯字符的, list 及字典等会改变 函数递归:   一层一层进去, return 一层一层出来   特点: # 明确的结束条件 # 问题规…
1.什么是迭代器 迭代是一个重复的过程,但是每次重复都是基于上一次重复的结果而继续 迭代取值的工具 2.为什么要用迭代器 迭代器的优点 ​ ①不依赖于索引取值 ​ ②更节省内存 缺点: ​ 1.不如按照索引取值方式灵活 ​ 2.取值一次性的,只能往后取,无法预测值的个数 3.为何要用迭代器: 可迭代对象:但凡内置有__iter__方法的对象 iterable :str\list\tuple\dic\set\文件 迭代器对象 iterator 即内置有__iter__,又有__next__方法的…