2024年最新16个你绝不知道的Python神奇技能_python 大招(1)

  • 类中两种常用的装饰, 首先区分一下他们
  • 普通成员函数, 其中第一个隐式参数为对象
  • classmethod装饰器, 类方法(给人感觉非常类似于OC中的类方法), 其中第一个隐式参数为类
  • staticmethod装饰器, 没有任何隐式参数. python中的静态方法类似与C++中的静态方法

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

property装饰器

定义私有类属性

将property与装饰器结合实现属性私有化(更简单安全的实现get和set方法)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

fget是获取属性的值的函数,fset是设置属性值的函数,fdel是删除属性的函数,doc是一个字符串(like a comment).从实现来看,这些参数都是可选的

property有三个方法getter(), setter()和delete() 来指定fget, fset和fdel。 这表示以下这行

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

iter魔法

通过yield和__iter__的结合, 我们可以把一个对象变成可迭代的

通过__str__的重写, 可以直接通过想要的形式打印对象

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

神奇partial

partial使用上很像C++中仿函数(函数对象).

在stackoverflow给出了类似与partial的运行方式

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

利用用闭包的特性绑定预先绑定一些函数参数, 返回一个可调用的变量, 直到真正的调用执行

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

神秘eval

eval我理解为一种内嵌的python解释器(这种解释可能会有偏差), 会解释字符串为对应的代码并执行, 并且将执行结果返回

看一下下面这个例子

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

exec

  • exec在Python中会忽略返回值, 总是返回None, eval会返回执行代码或语句的返回值
  • exec和eval在执行代码时, 除了返回值其他行为都相同
  • 在传入字符串时, 会使用compile(source, ‘’, mode)编译字节码. mode的取值为exec和eval

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

getattr

getattr(object, name[, default])Return the value of the named attribute of object. name must be a string. If the string is the name of one of the object’s attributes, the result is the value of that attribute. For example, getattr(x, ‘foobar’) is equivalent to x.foobar. If the named attribute does not exist, default is returned if provided, otherwise AttributeError is raised.

通过string类型的name, 返回对象的name属性(方法)对应的值, 如果属性不存在, 则返回默认值, 相当于object.name

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

命令行处理

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

读写csv文件

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

各种时间形式转换

只发一张网上的图, 然后差文档就好了, 这个是记不住的

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

字符串格式化

一个非常好用, 很多人又不知道的功能

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在这里插入图片描述

感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的:

① 2000多本Python电子书(主流和经典的书籍应该都有了)

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里无偿获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
么很难做到真正的技术提升。**

需要这份系统化学习资料的朋友,可以戳这里无偿获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值