python基础学习8---类

类,可以用来描述某特定群体,因为群体具有相似性,比如人都有姓名,性别,年龄等,这些称为属性;此外人可以吃饭、交流、运动等,这些称为方法;
程序中定义一个类,就包括属性以及方法,属性一般指一些变量,方法和函数一样。
下面是定义一个dog类

class Dog():      #Dog为类名,一般首字母大写  此外这里可以带括号()也可以不带
	#注意 巨坑 这里是两边各两条下划线
	def __init__(self,name,age):        #类似于c++的构造函数,类实例化时被自动调用
		self.name=name         #表示定义属性self.name (就是现在定义的)
		self.age=age
	
	def sit(self):
		print(self.name+" is now sitting")
	
	def roll(self):
		print(self.name+" is now rolling")

#实例化类  
my_dog=Dog('gougou',2)  #给构造函数_init_除了self的后面两个形参
print("my dog's name is "+my_dog.name)    #访问实例的属性
print("and he is now "+str(my_dog.age)+" years old"))   

my_dog.sit()    #访问实例的方法
my_dog.roll()

类的继承,子类继承父类,父类也称为超类(superclass)

#同文件内 big_dog也是dog类,所以可以继承
class Big_dog(Dog):
	def __init__(self,name,age,pounds):
		super().__init__(name,age)   #表示调用父类的构造函数__init__进行复制
		self.pounds=pounds
	
	def show_weight(self):
		print(self.name+"'s weight is "+str(self.pounds))

my_bigdog = Big_dog('gougou', 2,15) 
my_bigdog.roll()
my_bigdog.show_weight()

#重写父类的方法   及子类定义时使用与父类中的方法重名即可
class Stupid_dog(Dog):
	def __init__(self,name,age)
		super().__init__(name,age)

	def sit(self):
		print("this stupid dog didn't make it")

其次呢,可以将其他类的实例作为一个类的属性

#假设Eyes是一个类
class Eyes:
	def __init__(self,eyecolor):
		self.eyecolor=eyecolor
	
	def show_eye(self):
		print("color is "+self.eyecolor)


class Dog:
	def __init__(self,name,age,eyecolor):
		self.name=name        
		self.age=age
		self.eyes=Eyes(eyecolor)

my_dog=Dog('gougou',2,'gold')
my_dog.eyes.show_eye()

从其他文件导入类,如在新文件my_dog.py中导入dog.py中的Dog类

from dog import Dog
my_dog=Dog('gougou',2)

#当然也可以导入一个模块中的所有类,直接import 模块名 就行了

python标准库

标准库是python’自身安装就带有的库,通常包含如下方面:
操作系统接口: import os
文件通配符:import glob
命令行参数:import sys
字符串正则匹配:import re
数学:import math
访问 互联网:
日期和时间: from datetime import date
数据压缩: import zlib
性能度量:from timeit import Timer
测试模块:

标准库详见https://www.runoob.com/python3/python3-stdlib.htmlhttps://pymotw.com/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值