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

建站时网站地图怎么做祁东网站设计公司

建站时网站地图怎么做,祁东网站设计公司,佛山关键词优化,wordpress wp-config.phpPython函数学习 1.函数定义 在函数定义阶段只检查函数的语法问题 2.实参形参 ​​​​总结#xff1a; #xff08;1#xff09;位置参数就是经常用的按照位置顺序给出实参的值#xff1b; #xff08;2#xff09;关键字实参形式#xff1a;key123#xff1b;放在…Python函数学习 1.函数定义 在函数定义阶段只检查函数的语法问题 2.实参形参 ​​​​总结 1位置参数就是经常用的按照位置顺序给出实参的值 2关键字实参形式key123放在所有位置参数后 3默认形参是直接在函数括号中指定某数的值若传实参时给出具体值则按照具体值来若没给则按默认值处理 ​**4**形参中的*会将溢出的位置实参全部接收然后存储元组的形式然后把元组赋值给后的参数。需要注意的是*后的参数名约定俗成为args。表示为 def func(*args) **5**形参中的**会将溢出的关键字实参*全部接收然后存储字典的形式然后把字典赋值给后的参数。需要注意的是**后的参数名约定俗成为kwargs。表示为def func(**kwargs) 3.函数是对象可以被当做数据进行处理 4.global和nonlocal关键字 第一两者的功能不同。global关键字修饰变量后标识该变量是全局变量对该变量进行修改就是修改全局变量而nonlocal关键字修饰变量后标识该变量是上一级函数中的局部变量如果上一级函数中不存在该局部变量nonlocal位置会发生错误最上层的函数使用nonlocal修饰变量必定会报错。 第二两者使用的范围不同。global关键字可以用在任何地方包括最上层函数中和嵌套函数中即使之前未定义该变量global修饰后也可以直接使用而nonlocal关键字只能用于嵌套函数中并且外层函数中定义了相应的局部变量否则会发生错误见第一 【注这两段引用知乎作者的内容侵权删】 global x nonlocal x1在局部想要修改全局的可变类型不需要任何声明可以直接修改。 2在局部如果想要修改全局的不可变类型需要借助global声明声明为全局的变量即可直接修改。 函数进阶 1.闭包函数和装饰器 装饰器就是闭包的一种应用下面的代码是装饰器模板 def deco(func):def wrapper(*args,**kwargs):res func(*args,**kwargs)return resreturn wrapper装饰器在大段程序中的使用方法装饰器语法糖——即让装饰器用起来更方便简洁的东西直接在要使用装饰器的函数上方装饰器例 def deco(func):def wrapper(*args, **kwargs):res func(*args, **kwargs)return resreturn wrapperdeco # home deco(home) def home(name, pwd, tag1):print(fwelcome {name} to home page)return name应用场景 如果我们已经上线了一个项目我们需要修改某一个方法但是我们不想修改方法的使用方法这个时候可以使用装饰器。因为软件的维护应该遵循开放封闭原则即软件一旦上线运行后软件的维护对修改源代码是封闭的对扩展功能指的是开放的 应用实例 import timecurrent_user {username: None}def login(func):# func 最原始的indexdef wrapper(*args, **kwargs):if current_user[username]:res func(*args, **kwargs)return resuser input(username: ).strip()pwd input(password: ).strip()engine fileif engine file:print(base of file)if user nick and pwd 123:print(login successful)current_uesr[usre] userres func(*args, **kwargs)return reselse:print(user or password error)elif engine mysql:print(base of mysql)elif engine mongodb:print(base of mongodb)else:print(default)return wrapperlogin #homelogin(home)这样做的好处的可以减少登录的次数只需每次判断是否已登录而不需要重复写登录的代码。即给home()和index()都增加了登录的功能 def home(name):print(fwelcome {name} to home page)time.sleep(1)login #indexlogin(index) def index():print(welcome to index)time.sleep(1)res index()2.迭代器和生成器 1实际上生成器是迭代器的一种只是生成器是自己写的迭代器 迭代器 几个概念 **可迭代的对象**Python内置str、list、tuple、dict、set、file都是可迭代对象 Python中内置有__iter__方法的都叫可迭代的对象 2迭代器定义 一个类如果实现了「迭代器协议」就可以称之为「迭代器」。 什么是「迭代器协议」呢 在 Python 中实现迭代器协议就是实现以下 2 个方法 __iter__这个方法返回对象本身即 self __next__这个方法每次返回迭代的值在没有可迭代元素时抛出 StopIteration 异常 #迭代器应用实例 s hello iter_s s.__iter__()while True:try:print(iter_s.__next__())except StopIteration:break #输出结果为: #h #e #l #l #o (3)for循环又称作迭代器循环in的后面必须是可迭代对象 lis [1, 2, 3] for i in lis:print(i)生成器 1yield关键字函数中但凡出现yield关键字再调用函数就不会继续执行函数体代码而是会返回一个值 2yield和return的区别 yield 接收一个值并继续执行后续代码未指定默认接收None而return直接接收一个值并直接结束函数不再执行其后的代码 def func():print(from func 1)yield aprint(from func 2)yield bg func() print(Fg.__iter__ g: {g.__iter__() g}) #迭代器执行_iter_的结果是它本身这也证明了生成器就是迭代器res1 g.__next__() #from func 1 print(fres1: {res1}) #ares2 next(g) #from func 2 print(fres2: {res2}) #bfor i in g:print(i) #for循环的结果(a,b没有拿变量来接收打印不出来) #from func 1 #a #from func 2 #b再来看一个直观的生成器例子 def i_wanna_return():yield ayield byield cfor i in i_wanna_return():print(i) #结果 #a #b #c
http://www.w-s-a.com/news/885142/

相关文章:

  • 网站建设工程设计图建网站怎样往网站传视频
  • 做网站月入企业网站建设运营
  • 网站建设中的ftp地址公众号微官网
  • 手机wap网站开发与设计app开发公司电话
  • 网站页脚代码大沥网站开发
  • 重庆网站制作公司 广州天成网络技术有限公司
  • 佛山网站改版wordpress 是否有后门
  • 如何承接网站建设外包wordpress产品布局
  • 洛阳建站洛阳市网站建设视觉设计专业
  • 婚恋网站建设分析网站建设硬件需求
  • 北京做网站电话wordpress如何换图片
  • 电影网站做cpa深圳信息网
  • 单县网站建设优化大师电脑版官网
  • 番禺区住房和建设局物业网站浦东新区网站设计
  • 外贸网站外包WordPress仿牌
  • 如何设计网站logohtml5开发
  • 金坛建设银行总行网站网站开发费用如何记账
  • 贵阳企业网站设计制作湛江知名网站建设电话
  • 网站建设安全性高清效果图网站
  • 上海网站排名推广黄山公司做网站
  • 全国网站建设公司实力排名单页面网站建设
  • 网站建设方案 规划wordpress 要备案吗
  • 一个完整的网站 技术网站建设中 敬请期待.
  • 如何建一个公司的网站网上怎么推广公司产品
  • 十大旅游电子商务网站影楼网站制作
  • 深圳网站建设代理商网业打开慢的原因
  • 旅游网站经营模式在屈臣氏做网站运营
  • 做管理信息的网站com域名查询
  • 免费推广网站推荐外贸推广平台哪个好
  • 腾宁科技做网站399元全包企业校园网站建设