继承
代码示例:
class Animal(object):
def __init__(self, name, age):
self.name = name
self.age = age
def sleep(self):
print(self.name, 'is sleep')
class Dog(Animal):
def bark(self):
print(self.name, 'is barking')
dog = Dog('tom', 1)
dog.bark()
dog.sleep()
子类的括号里面写父类的名称。
Python里面允许多继承
如果两个父类里面有同名的方法,那么子类会优先调用写在前面的父类中的那个方法,而且会一条链路找下去。
父类的私有方法和私有属性(__开头的方法),子类不会继承。但硬要用的话,可以通过父类来获取。
新式类和经典类
在python2里面,如果不手动指定一个类的父类是object,这个类就是一个经典类。
python3里面不存在经典类。默认继承自object。
Python2和Python3的区别
Python2默认不支持中文,如果要写中文注释,要在代码开头加一句:
# -*- coding:utf8 -*-
Python2的input会把用户输入当作代码。
Python2里的raw_input才跟Python3里面的input一样。Python3里面就没有raw_input了。
运算符
is --身份运算符,比较两个对象是否为同一个对象。
多态
子类的实现和父类的实现不一样,子类可以选择复写父类的方法。
子类在父类的基础上有了更多的实现。使用super()
super(子类名,self).__init__(属性,属性)
代码示例:
class Animal(object):
def __init__(self, name, age):
self.name = name
self.age = age
def sleep(self):
print(self.name, 'is sleep')
class Dog(Animal):
def __init__(self, name, age, foot_number):
super(Dog, self).__init__(name, age)
self.foot_number = foot_number
def bark(self):
print(self.name, 'is barking')
print(self.name, 'foot number is', self.foot_number)
dog = Dog('tom', 1, 4)
dog.bark()
dog.sleep()
文件操作
r 只读模式
w只写模式,如果没有找到文件,则会新建。
文章评论