类是面向对象中的对象;掌握类的基本使用极为重要
一、创建类
class Dog():
def __init__(self, name, age): # 类似于构造方法,类初始化时传入参数,并自动加载
self.name = name # 在__init__中采用self声明全局变量
self.age = age
def sit(self):
print(self.name + " is " + str(self.age) + " years old and is sitting!")
myDog = Dog('wangcai', 2)
myDog.age = 4 #修改对象中属性的值
myDog.sit() #调用对象中的方法
注意:在类的编写中,注意空格和tab的统一以及缩进的层级关系;如果出现 IndentationError: unexpected indent;则是空格与tab键出了问题;
二、继承
class Dog():
def __init__(self, name, age): # 类似于构造方法,类初始化时传入参数,并自动加载
self.name = name # 在__init__中采用self声明全局变量
self.age = age
def sit(self):
print(self.name + " is " + str(self.age) + " years old and is sitting!")
class hashiqi(Dog): # 哈士奇继承Dog
def __init__(self, name, age):
super().__init__(name, age)
def sit(self): # 重写父类的方法
print("哈士奇 is sitting!")
def crazy(self):
print("Only 哈士奇 can crazy!")
myDog = hashiqi('wangcai', 2)
myDog.sit()
myDog.crazy()
另一点需要注意的是python2.x继承的方式会有稍许不同,其子类在__init__构造方法中,需要添加两个super方法的实参:第一个为子类名,第二个是self。
class Car(object):
def __init__(self, make):
print "Parent"
class ElecCar(Car):
def __init__(self,make):
super(ElecCar, self).__init__(make)
print "Child"
三、类的导入
类的导入与函数的导入基本一致。
可参考: https://blog.csdn.net/lanluyug/article/details/103651384
四、python标准库
from collections import OrderedDict
from random import randint
dict = OrderedDict()
num = randint(1,6)
其中OrderedDict和randint都是标准库中的函数,导入后可直接使用;