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

江苏润通市政建设工程有限公司网站寻找大连网站建设

江苏润通市政建设工程有限公司网站,寻找大连网站建设,做摄影哪个网站,首页设计说明在 Python 中#xff0c;函数是一等对象。编程语言理论家把“一等对象”定义为满足下述条件的程 序实体: 在运行时创建能赋值给变量或数据结构中的元素 • 能作为参数传给函数能作为函数的返回结果 5.1 把函数视作对象 会用 map。 5.2 高阶函数 接受函数为参数#xff0…在 Python 中函数是一等对象。编程语言理论家把“一等对象”定义为满足下述条件的程 序实体: 在运行时创建能赋值给变量或数据结构中的元素 • 能作为参数传给函数能作为函数的返回结果 5.1 把函数视作对象 会用 map。 5.2 高阶函数 接受函数为参数或者把函数作为结果返回的函数是高阶函数(higher-order function)。 map、filter 和 reduce 的现代替代品 list(map(fact, range(6))) [1, 1, 2, 6, 24, 120][fact(n) for n in range(6)] [1, 1, 2, 6, 24, 120]list(map(factorial, filter(lambda n: n % 2, range(6)))) [1, 6, 120][factorial(n) for n in range(6) if n % 2 [1, 6, 120]all(iterable) 如果 iterable 的每个元素都是真值返回 True;all([]) 返回 True。 any(iterable) 只要 iterable 中有元素是真值就返回 True;any([]) 返回 False。 5.3 匿名函数 lambda 函数的定义体中不能赋值也不能使用 while 和 try 等Python 语句。 5.4 可调用对象 如果想判断对象能否调用可以使用内置的 callable() 函数。 5.5 用户定义的可调用类型 实现 __call__ 方法 5.6 函数内省 5.7 从定位参数到仅限关键字参数 看懂下面这个怎么传。 def tag(name, *content, clsNone, **attrs):print(name:, name)print(content:, content)print(cls:, cls)print(attrs:, attrs)5.8 获取关于参数的信息 内省好像是指调用函数之前就知道这个函数需要什么参数有没有默认参数。 函数对象有个 __defaults__ 属性它的值是一个元组里面保存着定位参数和关键字参 数的默认值。仅限关键字参数的默认值在 __kwdefaults__ 属性中。然而参数的名称在 __code__ 属性中它的值是一个 code 对象引用自身也有很多属性。 参数名称在 __code__.co_varnames 中不过里面还有函数定义体中创建的局部变量。因此参数名称是前 N 个字符串N 的值由 __code__.co_argcount 确定。顺便说一下这里不包含前缀为 * 或 ** 的变长参数。参数的默认值只能通过它们在 __defaults__ 元组中的位置确定因此要从后向前扫描才能把参数 和默认值对应起来。在这个示例中 clip 函数有两个参数text 和 max_len其中一个有默认值即 80因此它必然属于最后一个参数即 max_len。这有违常理。 所以使用 inspect。 from clip import clipfrom inspect import signaturesig signature(clip)sig # doctest: ELLIPSIS inspect.Signature object at 0x...str(sig) (text, max_len80)for name, param in sig.parameters.items(): ... print(param.kind, :, name, , param.default) ... POSITIONAL_OR_KEYWORD : text class inspect._empty POSITIONAL_OR_KEYWORD : max_len 80kind 属性的值是 _ParameterKind 类中的 5 个值之一列举如下。 POSITIONAL_OR_KEYWORD 可以通过定位参数和关键字参数传入的形参(多数 Python 函数的参数属于此类)。 VAR_POSITIONAL 定位参数元组。 VAR_KEYWORD 关键字参数字典。 KEYWORD_ONLY 仅限关键字参数(Python 3 新增)。 POSITIONAL_ONLY 仅限定位参数;目前Python 声明函数的句法不支持但是有些使用 C 语言实现且不 接受关键字参数的函数(如 divmod)支持。 inspect.Signature 对象有个 bind 方法它可以把任意个参数绑定到签名中的形参上所用的规则与实参到形参的匹配方式一样。框架可以使用这个方法在真正调用函数前验证参数 import inspectsig inspect.signature(tag)my_tag {name: img, title: Sunset Boulevard, ... src: sunset.jpg, cls: framed}bound_args sig.bind(**my_tag)bound_args inspect.BoundArguments object at 0x...for name, value in bound_args.arguments.items(): ... print(name, , value) ... name img cls framed attrs {title: Sunset Boulevard, src: sunset.jpg}5.9 函数注解 函数声明中的各个参数可以在 : 之后增加注解表达式。 def clip(text:str, max_len:int 080) - str: 在max_len前面或后面的第一个空格处截断文本5.10 支持函数式编程的包 5.10.1 operator模块 operator模块为多个算术运算符提供了对应的函数从而避免编写lambda a, b: a*b 这种平凡的匿名函数。 # 阶乘 reduce(mul, range(1, n1))operator 模块中还有一类函数能替代从序列中取出元素或读取对象属性的 lambda 表达式:因此itemgetter 和 attrgetter 其实会自行构建函数。 itemgetter(1) 的 作用与 lambda fields: fields[1] 一样。如果把多个参数传给 itemgetter它构建的函数会返回提取的值构成的元组。itemgetter 使用 [] 运算符因此它不仅支持序列还支持映射和任何实现 __getitem__ 方法的类。 attrgetter 与 itemgetter 作用类似它创建的函数根据名称提取对象的属性。如果把 多个属性名传给 attrgetter它也会返回提取的值构成的元组。此外如果参数名中包含 .(点号)attrgetter 会深入嵌套对象获取指定的属性。 下面是 operator 模块中定义的部分函数(省略了以 _ 开头的名称因为它们基本上是实现细节): [name for name in dir(operator) if not name.startswith(_)] [abs, add, and_, attrgetter, concat, contains,countOf, delitem, eq, floordiv, ge, getitem, gt, iadd, iand, iconcat, ifloordiv, ilshift, imod, imul, index, indexOf, inv, invert, ior, ipow, irshift, is_, is_not, isub, itemgetter, itruediv, ixor, le, length_hint, lshift, lt, methodcaller, mod, mul, ne, neg, not_, or_, pos, pow, rshift, setitem, sub, truediv, truth, xor] 以 i 开头、后面是另一个运算符的那些名称(如 iadd、iand 等)对应的是增量赋值运算符(如 、 等)。如果第一个参数是可变的那 么这些运算符函数会就地修改它否则作用与不带 i 的函数一样直接返回运算结果。 methodcaller 还可以冻结部分参数。 from operator import methodcallers The time has comeupcase methodcaller(upper)upcase(s) THE TIME HAS COMEhiphenate methodcaller(replace, , -)hiphenate(s) The-time-has-come5.10.2 使用functools.partial冻结参数 triple partial(mul, 3) triple(7) 21triple.func # 可以访问原函数。 triple.keywords
http://www.w-s-a.com/news/885849/

相关文章:

  • 链家在线网站是哪个公司做的一个虚拟主机做2个网站
  • 网站开发实训报告模板学校网站建设计划
  • 免费手机网站制作方法什么事网站开发
  • 我们的爱情网站制作阿里云wordpress配置
  • 电脑网站页面怎么调大小唐山网站建设技术外包
  • 科威网络做网站怎么样wordpress分页样式
  • 泰安公司网站建设自助建站程序
  • 网站建设工程设计图建网站怎样往网站传视频
  • 做网站月入企业网站建设运营
  • 网站建设中的ftp地址公众号微官网
  • 手机wap网站开发与设计app开发公司电话
  • 网站页脚代码大沥网站开发
  • 重庆网站制作公司 广州天成网络技术有限公司
  • 佛山网站改版wordpress 是否有后门
  • 如何承接网站建设外包wordpress产品布局
  • 洛阳建站洛阳市网站建设视觉设计专业
  • 婚恋网站建设分析网站建设硬件需求
  • 北京做网站电话wordpress如何换图片
  • 电影网站做cpa深圳信息网
  • 单县网站建设优化大师电脑版官网
  • 番禺区住房和建设局物业网站浦东新区网站设计
  • 外贸网站外包WordPress仿牌
  • 如何设计网站logohtml5开发
  • 金坛建设银行总行网站网站开发费用如何记账
  • 贵阳企业网站设计制作湛江知名网站建设电话
  • 网站建设安全性高清效果图网站
  • 上海网站排名推广黄山公司做网站
  • 全国网站建设公司实力排名单页面网站建设
  • 网站建设方案 规划wordpress 要备案吗
  • 一个完整的网站 技术网站建设中 敬请期待.