Appearance
本文讲述在Python中如何创建类、以及创建后的类如何使用、还有类的构造函数,私有变量、以及Python中的封装等等。
类的定义
python中的类的定义和java类似,同样使用class
作为关键字。但是如果类中没有定义变量,外部的实体类是可以直接赋值,比如类中没有定义top变量,创建此类后可以直接为本不存在的top变量赋值。
python
# 创建一个类
class Person(object):
name = None
age = None
# 类中方法的第一个参数self名称一般是固定的,如果改成其他名称也可以使用
def run(self):
print(f'{self.name}在奔跑')
# 这种写法也可以
def run2(s):
print(f'{s.name}在奔跑')
xiaoming = Person()
xiaoming.name = '小明' # 给变量赋值
xiaoming.top = 175 # 如果变量没有定义,也可以直接赋值,python会自动绑定到类的实例对象上
print(xiaoming.name)
print(xiaoming.top)
print(xiaoming.run())
类的构造函数
类的构造函数是创建__init__
函数,具体使用方法如下
python
class Person(object):
name = None
age = None
# 类的构造函数
def __init__(self, name, age=None):
self.name = name
self.age = age
# 类中方法的第一个参数self名称一般是固定的,如果改成其他名称也可以使用
def run(self):
print(f'{self.name}在奔跑')
# 1.使用字段名指定变量
ming = Person(name='小明', age=12)
ming.run()
# 2.也可以按顺序传参
wang = Person('小王')
wang.run()
li = Person('小李', 19)
li.run()
私有函数与私有变量
定义变量或函数为私有,只需要在变量或函数名钱加上__
符号即可,使用方式如下:
python
class Person(object):
__name = None
__age = None
# 类的构造函数
def __init__(self, name, age=None):
self.__name = name
self.__age = age
# 私有方法
def __run(self):
print(f'{self.__name}在奔跑')
def show(self):
self.__run()
print(f'年龄:{self.__age}')
# 此时只能调用show方法,因为其他的都成私有的了
ming = Person(name='小明', age=12)
ming.show()