以前学过python,但只是一些简单的语法,这一段时间把没学过的知识补上,这样以后学习的生活就更方便了
类
<一>类的基本构成
class Dog():
def __init__(self, name, age):#初始化
self.name = name
self.age = age
def sit(self):#方法
print()
1.1方法_init_()
- 创建实例时通过这个函数创建,可以传入
name
,age
的参数,self是一个指向实例本身的引用,在方法中自动传递,方便实例对象调用类中的属性和方法,并且以self为前缀的变量都可以功所有方法使用
1.2创建实例
- 用
.
直接调用变量和方法
my_dog = Dog('gengdi', 6)
print(my_dog.name.title() + 'is' + str(my_dog.age) + 'years old')#title() 方法返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写
my_dog.sit()
<二>使用类和实例
class Dog():
def __init__(self, name,):#初始化
self.name = name
self.age = 0#初始为0
def sit(self):#方法
print()
def update_age(self, age):#更新的方法
if age >= self.age
self.age = age
else
print("Failed")
2.1修改属性的值
- 直接修改
my_dog.age = 10
- 通过方法修改
my_dog.update_age(10)
通过方法修改属性较为灵活,可以通过改变方法来实现属性的复杂改变
<三>继承
class Dog():
def __init__(self, name,):#初始化
self.name = name
self.age = 0#初始为0
def sit(self):#方法
print()
def update_age(self, age):#更新的方法
if age >= self.age
self.age = age
else
print("Failed")
def Leg():
def _init_(self, length=50)#赋初值
self.length = length
def helthy(self):
print()
class Gengdi(Dog):#父类名称在括号里
def __init__(self, name):
super().__init__(name)#调用父类的创建函数
self.hair = black
self.leg = Leg()#实例做属性
def run(self):
print()
3.1继承的基本格式
- 父子类同一个文件,且父类在前,super()将父子类关联起来了,是的子类包含父类所有的属性和方法。
- 子类可以有自己的属性和方法
- 子类还可以重写父类的方法
- 实例可以作为类的属性
<四>导入类
可以将类与实例的创建分开写,类似于C语言的库函数
具体细节参考《python编程:从入门到实践》p153
- 导入语句from X import Y ----从X.py文件中导入其中的Y类
- from module_name import * ----------------导入所有的类。
不推荐
不能指导自己用了那些类,导入后可以使用module_name.class_name来访问类,防止与自己定义的类同名。
- 导入的类间有继承关系,且位于不同模块中,最好在主文件中导入所有的类,以防继承不正常。