当前位置: 首页 > news >正文

做网站所需技术小企业怎么建网站平台

做网站所需技术,小企业怎么建网站平台,怎么申请一个域名,网wordpress站底部图片悬浮今天换了师傅。江湖人称景女神^o^。 女师傅讲的比较细#xff0c;原理的比较多。初学者来说有些难。但是基本功是必须要打牢的。努力#xff01; 迭代器 迭代器#xff0c;迭代的工具1 什么是迭代#xff0c;指的是一个重复的过程#xff0c;每一次重复称为一次迭代#…今天换了师傅。江湖人称景女神^o^。 女师傅讲的比较细原理的比较多。初学者来说有些难。但是基本功是必须要打牢的。努力 迭代器 迭代器迭代的工具1 什么是迭代指的是一个重复的过程每一次重复称为一次迭代并且每一次重复的结果是下一次重复的初始值while True: print()l [a,b,c,]count 0while count len(l): count 12 为什么要有迭代器 对序列类型str list tuple可以用索引取值 但是对非序列类型如元祖set 文件内容python必须为我们提供一种不依赖于索引的迭代取值的方式---迭代器 dic {name:jack,age:18,hobbie:readbook}3 可迭代对象: 有obj.__iter__ 这个方法的对象 就是可迭代对象 可迭代对象需要有多个值 有六种 str list tuplt dict set file 可以使用__iter__方法 看一下是否是可迭代对象 如str.__iter__4 迭代器对象 file 文件类型是迭代器对象只有满足__iter__方法同时还要有__next__方法总结1可迭代对象不一定是迭代器对象2迭代器对象一定是可迭代的对象3调用obj.__iter__()方法可以把可迭代对象变为迭代器对象4对于迭代器对象执行__iter__方法得到的还是他本身 还是迭代器对象变为迭代器对象后 就可以迭代取值了 d{user:jack,age:18,sex:man} d_iter d.__iter__() print(d_iter.__next__())还可以写成这样 d {a,b,c} d_iter iter(d) print(next(d_iter))# for循环详解1,调用in后的l_iter l.__iter__()2,i l_iter.__next__()3,捕捉StopIteration异常结束迭代。l [a,b,c]:for i in l : print(i)总结迭代器的 优缺点优点1 提供一种统一的不依赖索引的取值方法 为for循环的实现提供了依据 2 迭代器同一时间在内存中只有一个值 ---更节省内存缺点: 1 只能往后走并且循环一遍就结束了。 2 不能统计值得个数即长度def eater(name): print(%s ready to eat%name) while True: foodyield print(%s start to eat %s %(name,food))这种表达式需要先初始化才能执行1 生成迭代器e eater(njack)2 初始化:e.send(None)3 传值e.send(吃屎)同时这个表达式还可以组合使用food yield food_list这个food_list就是返回值。print可以得到这个值 生成器 生成器 generater 自己写的迭代器就是一个生成器 py提供了两种自己写生成器迭代器的机制生成器函数生成器表达式 1 生成器函数 yield 凡是带生成器关键字的就是生成器 生成器函数调用不会触发代码的执行而是会返回一个生成器迭代器 想要执行需要使用过next来进行调用 def func(): print(aaaaa) yield 1 print(bbbbbb) yield 2 记录当前所在位置等待下一次next来出发函数的调用 列子 使用生成器监听文件输入的列子 ####### 注意这个例子需要ctrl s 保存一下输入的文件 才能显示监听文件输入的内容 ####### mac系统需要写个python程序来往文件中输入才能显示 import time def listion_file(): with open(userinfo) as f: while True: line f.readline() if line: yield print(line.strip()): time.sleep(0.1) g listion_file for i in g: print(i) 关键字send 定义在执行next的过程中传递一个参数给生成器函数的内部 def foo(): print(1111) res1 yield 1 print(22222,res1:,res1) res2 yield 2 print(33333,res2:,res2) yield 3 g foo() res next(g) print(res) g.send(alex) g.send(jack) 从函数的外部向内部传参但是在生成器第一次中不能send传值需要先激活next一下。 例子 计算移动平均值 月度的天平均收入 def argvs(): day 0 sum_moeny 0 while True: moeny yield avg sum_moeny money day 1 avg sum_moeny/day g argvs() next(g) g.send(200) g.send(400) ### 预激生成器 每个生成器都需要next预激活如果有多个生成器就比较麻烦 可以写个装饰器来进行预激活这个装饰器就叫预激生成器 ### yield from 一般写法 def generator_func(): for i in range(): print(i) for o in hello print(o) 可以写成 def generator_func(): yield from range(5) yield from hello 取值的方法 1 next(g) 随时可以停止最后一次会报错 2 for i in g: print(g) 从头到尾遍历一次不遇到break return不会停止 3 list 或 tuple 吧值放入列表或元祖但是占用内存大。 print(list(g)) 注意 生成器不能直接next(生成器函数)必须要先生成生成器 然后在next使用 错误的: print(next(func())) 正确的 g func() print(next(g)) 生成器特点 节省内存惰性计算解决内存问题和程序功能之间的解耦  总结: 1yield 为我们提供了一种自定义迭代器对象的方法 2yield 可以返回多个值 return 只能返回一次值 3函数暂停与在继续的状态是yield帮我们保存的 三元表达式 def my_max(x,y): x if x y else y在比如name inpurt(请输入您的名字)res SB if name alex else NBprint(res)if右边是条件为真时返回的值else左边就是为假返回的值。 列表生成器生成器表达式 列表推到式 数据小的时候可以使用这个。 ll [i**2 for i in range(10)] print(ll)  直接把循环得到的i在for右边进行运算得到的全部结果赋值给ll 生成器表达式 在数据庞大的时候 建议使用生成器表达式 gg (i for i in range(10)) for i in gg: print(i) 总结 1 一个生成器 只能取一次   2 生成器在不找他要值得时候始终不执行   3 当他执行的时候要以执行时候的所有变量值为准 两者主要区别是列表推到式用中括号括起来生成器是用小括号括起来。练习 取出文件中最长行数with open(test.txt,r,encodingutf-8) as f: g (len(line) for line in f) print(max(x)) 上面两行可以精简为一行 print(max(len(line) for line in f)) sum求和 print(sun(len(line) for line in f)) 文件每一行的字符个数 递归 定义: 在调用一个函数的过程中直接或者间接有调用该函数本身称之为递归调用递归必备的两个阶段 1.递推 2.回朔def func(): print(---) func() func()这个递归是死循环最多就到1000层 python就不允许递归了import sysprint(sys.getrecursionlimit)sys.setrecursionlimit(2000)这样可以修改最大允许递归多少层下面的也是递归调用def func() print(from func) bar()def bar(): print(from bar) func()bar()递归的列子 先递推 然后在回溯def age(n) if n 1 return 18 return age(n-1) 2res age(5)print(res)这个就是n等于5 先逐层往下递推满足n 等于1就返回age(1)等于18 然后回朔 age(2)等于20最后结果就是26递归列表的值l [a,b,c,d,e,[1,2,3,4,[b,h,j]]]def func(l): for item in l: if type(item) is list: func(item) else: print(item) 匿名函数 lambda 表达式def add(a,b): return ab可以写为:add lambda a,b: abprint(add(1,2))求平方的方法可以写一行for i in map(lambfa num : num**2,range(10)):print(i)练习print(min(-2,3,-4,keylambad num:num%2)) 内置函数 内置函数print()len()abs()max()min()eval()zip()dir()总共有68个反射相关 2基础数据类型相关 38作用域相关 2 locals 本地命名空间 globals 全局命名空间面向对象相关 9迭代器/生成器 3 range next iter其他函数 12 inpurt print 可以指定分隔符 sep; 还可以去掉结尾换行符end 不是每执行一个for循环就打印加上FlushTrue 就会实时打印 其实print实际上是写文件。需要发起系统调用才能操作文件如果print与print之间间隔较快print会先先缓存一下在打印出来 加上flushTrue就不会等待了。 如果在字符串中加上\r 就会一直在第一行覆盖打印 相当于seek(0) 练习题 进度条 hash 对可hash得数据类型进行hash之后会得到一个数字 在一次执行程序的执行过程中对相同的可hash变量哈希之后的结果几乎总是是不相同的。 hash 字典底层的存储和set集合的去重机制都相关 print(hash(123456)) print(hash(123456)) id 查看一个变量的内存地址 import 引用模块 help 查看帮助信息比如这个变量怎么用这个对象怎么用等 callable 查看是否可调用 def foo():pass a 1 callable(a) 返回Flose callable(foo) 返回True dir 查看一个变量所拥有的所有名字,不止方法。 print(dir(1))数据类型类 bool bin 转换为二进制 0b oct 转换为8进制 0o hex 转换为16进制 0x abs 计算数字的绝对值只能接收数字 divmod() 商余函数 print(divmod(10,2)) print(divmod(7,3)) print(divmod(9,7)) 返回一个元祖里面有两个值一个是商几后一个是余几 round 精确到小数点几位精确的几位。四舍五入 print(round(3.1415926,4)) pow 求平方 可以放第三个参数第三个参数就是取余 print(pow(2,3)) print(pow(3,22)) sum 求和 接收一个可迭代对象,后面可以写一个起始值 默认起始值是从0开始计算。 print(sum([1,2,3,4,5],20)) 可以放入一个生成器迭代器这样可以节省内存。 print(sum(range(1,6))) min 取最小值 print(ming(1,-2,3,-4,keyabs)) 当两个最小值时取第一个 max 取最大值 序列 reversed 取反 只能传入一个序列的数据结构,新生成一个迭代器返回值取反同时不改变原本的数据顺序 reversed(ret) 用处可以吧元祖reversed 然后在list这个元祖 可以都得到一个反转的元祖。 format 格式化输出可以居中显示 format(text 20) 20 ^20 bytes 字符串转bytes ord print(ord(a)) 小写的a-z从 97开始 26,大写的A-Z从6526 转换为acsii对应的数字 chr print(chr(97)) 转换为acsii对应的字母 ascii 字符串转ascii码 repr 可以让一个数据的数据类型可以原形毕露 a 1 b 1 rper(a) rper(b) len 统计长度 enumerate 接收一个容器类型一般是元祖或列表,可以制定下标起始值 list1 [香蕉,苹果] for k,v in enumerate(list1,1) print(k,v) all 接收容器 判断数据类型是否存在False,如果存在就都为Flase any 接收容器 判断数据类型中是否存在True类型如果存在就都为True zip ret zip([1,2,3,4],(a,b,c,d),(4,5,6,7)) #拉链方法 返回一个可迭代函数 for i in ret: print(i) filter 可以吧列表(可迭代数据类型)逐个传入函数当作参数进行操作。 list1 [1,2,4,6,9,11,17] def func(num) if num %2 0:reture num for i in filter(func,list1) print(i) 去除空字符 ll [test, None, , str, , END] def func(strs): if strs and strs.strip():return True 如果是True就返回 for i in filter(func,ll) print(i) map range(10) 求他的平方 推到式简单i**2 for i in range(10) 用map def func(num): return num **2 for i in map(func,range(10)):print(i) 就是把函数放到map里面去执行 sorted 先说一下key: 可以指定按abs绝对值 可以指定len 等内置函数来根据函数返回值来进行运算 l [1,2,-3,-4,4,5,6] l.sort(keyabs) print(l) 使用sorted new_l sorted(l,keyabs) print(new_l) 这个有些例外直接返回值。执行内置函数eval 执行字符串中的代码 同时有返回值吧结果返回。 注意这个函数有安全风险 传入恶意程序会执行。 eval(print(123))exec 执行字符串中的代码但是没有返回值 exec(print(123))注意 min max sorted filter map 面试容易问到转载于:https://www.cnblogs.com/liyunjie/p/8993607.html
http://wiki.neutronadmin.com/news/93314/

相关文章:

  • 赣州建设网站公司大朗镇网站仿做
  • 天创网站网站建设促销活动
  • 佛山网站建设咨询大连手机自适应网站建设公司
  • 建站总结报告长沙 外贸网站建设公司价格
  • 国外优秀论文网站网页设计公司网站
  • 金融行业网站建设公司网站建设流程包括哪些内容
  • 响应式网站 尺寸如何做企业黄页网站
  • 制作门户网站网站开发的意义和作用
  • 东莞网站seo公司哪家大十大没用的证书
  • 网站建设zrhskj搜索引擎优化技术都有哪些
  • php做彩票网站吗内蒙中国建设银行招聘网站
  • 专门做微信公众号的网站免费广告投放网站
  • 网站开发 策划是干嘛的如何快速备案网站
  • 做美容美发的网站有哪些网站建设标书
  • 电子商务网站建设预算表wordpress路径
  • 音乐网站前端模板石家庄软件公司排名
  • 企业网站seo最好方法网站建设需要懂的书籍
  • 新站seo优化快速上排名上海平台网站建设报
  • 苏州知名网站建设设计公司排名WordPress七牛导致评论失效
  • 五屏网站建设且网站制作
  • 网站添加百度商桥企业信息查询网官网
  • 门户网站html模板2022热门网页游戏排行榜
  • 网站建设心得感想设计动漫的软件
  • iis php服务器搭建网站免费只做网站
  • 名城苏州网站淘宝网站域名
  • 织梦个人网站模板app门户网站
  • 设计必知的设计网站 039做网站之前需要准备什么软件
  • 网站的程序和数据库怎么做的数据库 导入 wordpress 错误
  • 网站推广类型wordpress固定链接设置失败
  • 网站开发用什么语言写做网站用什么工具