# 面向对象基础
# 建立一个类
# 类的基本语法
class TestClass: | |
def __init__(self): | |
print("这是init方法") |
这是一个最基本的类,有 __init__方法
类名必须使用大驼峰命名法,即所有的单词首字母大写
类的基本语法:class 类名:
函数
# 对象函数
在 python 中,像 __init__
这样前后都有双下划线的叫魔法方法
例如 __init__
就是在方法实例化时调用
一般来说,实例化方法用于建立变量,举个栗子:class TestClass:
def __init__(self, value):
self.value = value
print("实例化完成")
这样实例就有了 value 变量,类内可以通过 self.value调用
,类外使用 实例名.value
访问
定义一个非魔法对象方法:def 函数名(self,参数):
语句
self
就是调用对象,可以使用 self 调用类内方法或变量
类内直接写代码会直接执行,必须使用函数括起来
# 实例化
写个狗的类只会吃和睡就离谱class Dog:
def __init__(self, name):
self.name = name
def eat(self):
print(f"{self.name}正在吃")
def sleep(self):
print(f"{self.name}正在睡")
def __str__(self):
return f"{self.name}是一只狗"
然后实例化 Dog 类doge = Dog("doge")
doge.eat()
doge.sleep()
print(doge)
# 输出:doge 正在吃
# doge 正在睡
# doge 是一只狗
实例化语法 变量 = 类名(参数)
doge.eat()
就是调用了对象方法 eat()
方法内使用了 self.name
作为名字
print(doge)
是调用了对象的 __str__
方法
__str__必须返回一个字符串
# 私有变量与方法
python 的类 (对象) 变量分为以下三大类:
private
使用__
开头且不使用__
结尾的方法或变量,只能在类内部调用protected
使用_
开头的方法或变量,可以在同文件内访问,但是无法import
导入public
正常的方法名,可以用import
导入
python 的私有是伪私有,假设类 A 下有私有变量__s, 实际上 python 只是把它的名称
变成了 _A__s
, 使用 类(实例)._A__s
即可访问
面向对象大部分会在第 9 篇讲,这一段就是基础中的基础