![](https://img-blog.csdnimg.cn/20190927151026427.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
python高阶用法
该分栏中展示python的高阶用法,包括函数、面向对象、生成器、迭代器、多层装饰器,进程、线程、协程、常见标准库的使用.....
一个正经程序员
高山仰止,景行行止,虽不能至,心向往之。
展开
-
python中的random模块
random模块的使用random主要用于生成随机数使用:函数说明random.seed(a=None, version=2)初始化伪随机数生成器。如果未提供a或者a=None,则使用系统时间为种子。如果a是一个整数,则作为种子。random.getstate()返回一个当前生成器的内部状态对象random.setstate(state)传入一个先前利用getstate方法获得的状态对象,使得生成器恢复到这个状态。random.getrandbits(k)返原创 2020-05-23 18:01:36 · 10250 阅读 · 0 评论 -
python中实现函数重载
python中实现函数重载函数重载指对一个同名的函数,可以传不同类型的参数,然后进行不同的操作。python默认不支持函数重载,因为下边的同名函数会覆盖上边的函数,但是我们可以借助functools中singledispatch实现python中的函数重载示例:from functools import singledispatchclass abs: def type(self,args): passclass Person(abs): @singledispat原创 2020-05-23 16:28:45 · 10537 阅读 · 0 评论 -
python中类变量和实例变量详解
python中类变量和实例变量详解在了解类变量和实例变量之前,首先要知道类变量和实例变量的定义。类变量:可在类的所有实例之间共享的值,就是指不是单独分配给每个实例,实例可以调用类变量。实例变量:实例化之后,每个实例单独拥有的变量,类不能直接调用实例变量。一、基础的类变量和实例变量如下示例:num代表类变量,name代表实例变量。class Test(object): num=0 def __init__(self,name): self.name=name原创 2020-05-23 16:23:30 · 10476 阅读 · 0 评论 -
python中函数的参数种类
在python中,函数定义时小括号中的参数被称为形式参数,简称形参。函数调用时的参数被称为实际参数,简称实参。根据形参的不同格式进行划分,共有五种格式:必须参数默认参数可变参数关键字参数命名关键字参数必选参数必选参数在使用时必须传值。示例:def bit(n): print('n:',n)bit(9)默认参数默认参数可以不传值,不传值时使用默认的数据。如果默认数值的数据类型是可变的,则会先开辟出一块内存空间出来。# m为默认参数def fight(m=18):原创 2020-05-23 15:34:48 · 9649 阅读 · 0 评论 -
实例方法、类方法、静态方法
实例方法、静态方法和类方法示例方法:第一个参数为self,必须实例化之后才能调用的方法类方法:使用@classmethod进行装饰,第一个参数为cls,可以被类调用,也可以被实例调用。静态方法:使用@staticmethod进行装饰,没有固定的参数,可以被类调用,也可以被实例调用,一般可以说跟类和实例没有关系。class A(object): #实例方法 def foo(self,x): print("excuting foo(%s,%s)"%(self,x))原创 2020-05-23 15:16:01 · 9189 阅读 · 0 评论 -
python中类的继承规则
python中类的继承规则在学习python中的继承规则之前,首先要知道python中类的划分。只要继承object类的就是新式类,不继承object类的都是经典类。在python3中,所有的类都继承object类,都是新式类。在python2中:class A:pass 经典类class B(object):pass 新式类在python3中:class A:pass 新式类class B():pass 新式类经典类的多继承采用深度优先继承。新式类的继承采用原创 2020-05-23 14:45:55 · 10403 阅读 · 0 评论 -
python中的抽象类
抽象类指一个类不能被实例化,只能实例化该类的子类,在继承抽象类时,必须复习父类所有的抽象方法。示例:1、Person是一个抽象类,Hero是一个正常的类。2、Man继承Person类和Hero类,必须复写Person类中的所有抽象方法。import abcclass Person(metaclass=abc.ABCMeta): @abc.abstractmethod def eat(self): pass @abc.abstractmethod d原创 2020-05-23 14:07:03 · 9735 阅读 · 0 评论 -
python的os模块详解
OS模块表格末尾附有代码。函数说明os.getcwd()获取当前工作路径os.chdir(path)切换到path路径os.listdir(path)获取path路径的所有文件或文件夹列表,文件夹为空时为空列表os.mkdir(path,permission)创建空文件夹,可以指定权限os.makedirs("/home/vc/ss")循环创建文件夹os.removedirs("/home/vc/ss")循环删除空文件夹,文件夹不为空时会报错原创 2020-05-23 13:56:33 · 9106 阅读 · 0 评论