Python基础(三)

1.math模块

Math.ceil 进一取整, 小数位只要不是0, 都会进1

Math.floor 舍一取整, 无论小数是几, 都直接抛弃, 只留下整数

Math.pow 开次方

Math.sqrt 平方根

Math.fabs 绝对值

Math.modf 以元组的形式存储小数位和整数位

Math.fsum 求和

Math.copysign 拷贝第二个值的符号

2.time模块

.ctime 格式化时间

.gmtime 世界时间元组

.localtime 本地时间元组

.asctime 格式化之后的时间字符串

.strftime 格式化时间元组

.strptime strftime的逆操作

.mktime 时间元组=>时间戳

.sleep 睡眠

.per_counter 系统运行的时间,包含睡眠时间

.process_time cpu运行的时间,不包含睡眠时间

3.calendar模块

.calendar(年份,w=2,l=1,c=6)

.month(年,月)

.isleap 判断是否是闰年

4.datetime

.datetime.now() 返回值:当前时间

.datetime.from time stamp(时间戳)

返回格式化时间戳

.datetime.strftime

.datetime.strptime

.timedelta

5.os模块

.name 判断系统。nt=>windows posix=>linux

.sep 返回当前系统支持的路径分隔符

.getcwd() 获取当前工作路径

.mkdir 创建目录

.makedirs 创建多级目录

.rmdir 删除空目录

.chdir 修改当前工作路径

.system 运行系统命令

windows命令:
​ 创建文件: type null>文件名
​ 删除文件: del 文件名
​ 创建目录: mkdir 目录名
​ 删除目录: rmdir 目录名
Linux命令:
​ 创建文件: touch 文件名
​ 删除文件: unlink 文件名
​ 创建目录: mkdir 目录名
​ 删除目录: rmdir 目录名

.remove 删除一个文件,若文件不存在则报错

.listdir 获取指定目录下的所有文件和文件夹

.path.exists 判断一个文件或目录是否存在

.path.isfile 判断是否为文件

.path.isdir 判断是否为目录

.path.abspath 获取绝对路径

.path.join 拼接目录和文件名

.path.split 拆分路径

.path.dirname 只获取目录

.path.basename 只获取文件名

.path.getsize 获取文件的大小

6.shutil模块

.copyfile(src,dst) 将文件src的内容复制给dst

.copymode 将文件的权限复制给dst

.copystat 将文件的时间和权限复制给dst

.copy 将权限和内容复制给dst

.copy2 将文件的权限内容时间都复制给dst

.copytree 将src目录递归复制给dst

.rmtree 递归删除目录

.move 剪切或重命名

7.zipfile模块

创建一个压缩包:zipbao=zipfile.ZipFile(’./x.zip’,‘a’)

将制定文件写入zip包:zipbao.write(’./b.txt’)

解压zip中的所有文件到e目录:zipbao.extractall(’./e’)

解压a1.txt到e目录:zipbao.extract(‘a1.txt’,‘x’)

8.面向对象OOP

类是对象的抽象化,对象是类的实例化

1.类

格式:class 类名():

​ 代码块

例:

class Person():
    name = ''
    age = 18
    sex = ''

    def fly(self):
        print('i can fly')
    def biu(self):
        print('biubiubiu')
    def write(self):
        print('i can program')

2.对象

创建一个对象,即实例化 对象名 = 类名()

使用属性:对象名.属性名

使用方法:对象名.方法名()

self:当前对象,只能在类里使用

a和b分别实例化时,对象a和对象b不是公用同一个内存。每实例化一次,就会生成一个独立的内存

3.专属方法

3.1 构造方法

触发条件:实例化类时 init

主要作用:1)设置初始化属性

​ 2)改变初始化属性

3.2 析构方法

触发条件:当对象被销毁时

销毁场景:1)当程序自然结束时

​ 2)当对象被覆盖时

​ 3)当对象被删除时

主要作用:在销毁之前做一些遗嘱

class Book():
    def __init__(self,name,author,price):
        self.name = name
        self.author = author
        self.price = price

    def __del__(self):
        print('书要被扔了')
a = Book('熊出没','熊大',20)
print(a.name)
print(a.author)
print(a.price)

a = '光头强'

4.封装性

定义:将属性和方法集中到一个类中,形成一个不可分割的类

封装后,类的属性和方法,有的公开,有的私有

class Person():
    name = '小马'
    __size = '3cm'

    def getname(self):
        print('大家好,我是 %s'%self.name)

    def __skill(self):
        print('%s 会偷电瓶'% self.name)

    def test(self):
        print('在类内访问__size:%s'%self.__size)
        self.__skill()

a = Person()
print(a.name)
a.getname()
a.test()

5.继承性

定义:子类继承父类的一些东西,从而达到提高代码重用性,降低冗余率的效果

class Yitian():
    name = '倚天剑'
    def skill1(self):
        print('杀猪')
    def skill2(self):
        print('切菜')
class Wuji():
    name = '张无忌'
    def skill3(self):
        print('赵敏')
class Xiaozhao():
    name = '小昭'
    def skill3(self):
        print('成昆')
a = Wuji()
b = Xiaozhao()

a.skill1()
s.skill2()
a.skill3()
b.skill1()
b.skill2()
b.skill3()

子类不能直接访问父类的私有属性和方法,但可以通过调用公有方法,在公有方法中调用私有属性和方法。

class Yitian()
		name = '倚天剑'
    	__coupe = '屠龙刀'
		def skill1(self):
            print('郭靖')
            print(self.__coupe)
class Man(Yitian)
		def skill9(self):
        	print('周芷若')
a = Man
print(a.name)
a.skill1()

重写

可以重写属性和方法

如果已经重写了父级方法,如还要用到父级的方法,通过super().父级方法名()来调用

单继承

class Father():
	name = '老王'

	def skill1(self):
		print('隔壁')

class Son(Father):
	name = '小杨'

a = Son()
print(a.name)
a.skill1()

连续继承

儿子继承父级,孙子继承儿子,… 但儿子不能继承叔叔

class Father():
	name = '老王'

	def skill1(self):
		print('隔壁')

class Son(Father):
	money =9000000000

	def skill2(self):
		print('赚钱')
class Grandson(Son):
	pass
a = Grandson()
print(a.name)
print(a.money)
a.skill1()
a.skill2()

多继承

格式:class 类名(父类1,父类2,父类3…)

class 小龙女():
	name = '小龙女'
	def skill1(self):
		print('玉女剑法')

	def skill9(self):
		print('九阴真经-正版')

class 欧阳锋():
	name = '欧阳锋'
	def skill2(self):
		print('蛤蟆功')
	def skill9(self):
		print('九阴真经-盗版')
class 大雕():
	name = '神雕'
	def skill3(self):
		print('玄铁剑法')
class 杨过(小龙女, 欧阳锋, 大雕):
	name = '杨过'
a = 杨过()
a.skill1()
a.skill2()
a.skill3()
print(a.name)

继承多个父类时,有重名的方法,按照先继承的为准

内置方法:__mro__ 查看多继承时时按什么顺序来找属性和方法的,返回元组类型

6.多态性

定义:通过一个类,传入不同的对象,从而实现不同的效果,提高代码灵活度

class usb():
	def run(self):
		pass

class mouse(usb):
	def run(self):
		print('已连接鼠标')


class keyboard(usb):
	def run(self):
		print('已连接键盘')

class udisk(usb):
	def run(self):
		print('已连接U盘')

class computer():
	def start(self, usb):
		usb.run()

c = computer()
m = mouse()
k = keyboard()
u = udisk()

c.start(m)
c.start(k)
c.start(u)

7.类属性和实例属性

定义:通过类访问的属性,是类属性,也叫类变量

​ 通过实例访问的属性,是实例属性,也叫实例变量

作用:类属性资源共享,实例属性资源独享

通过类修改,会把类中的属性修改掉,也会影响实例化之后的对象。

通过对象修改,一旦对象a自己修改了属性,就不再受类的影响。

class Person():
	name = '小龙'
a.name = '大龙'
print(Person.name)
print(a.name)

Person.name = '火龙'
print(Person.name)
print(a.name)
print(b.name)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值