python学习-类

python之类

类的定义

类(Class),类相当于一个模板。对象是类的实例。

创建类

# 类的创建以class关键字定义,类的名称以大写开头,后面接:
class People():
  pass

使用People类创建实例

chuck = People()
# 打印输出chuck
print(chuck)
# 输出chuck的类型
print(type(chuck))

验证实例与类的关系

# 使用isinstance()函数检查一个对象是否是一个类的实例,返回True或者Flase
result  = isinstance(chuck,People)
print(result)

类的属性与方法

现在创建的类中没有任何限制,没有属性和方法。
类中定义的变量就是类的属性,是类的公共属性,所有类实例都可以调用该类属性。
类中定义的函数就是类的方法,是类的公共属性,所有类实例都可以调用该类方法。
属性的定义

# 对People类进行修改
class People():
  # 定义一个name属性
  name = 'test'

# 使用类创建实例并调用属性
wzs = People()
print(wzs.name)

方法的定义

# 使用类创建实例并调用方法
class People():
  # 定义一个方法,与定义函数的方法类似,在定义方法时必须有一个形参,否则会报错
  def say_hello(self):
    print('我是类中的方法')

# 创建实例并调用方法,与调用函数一致
lym = People()
lym.say_hello()

实例对象属性和方法的查找顺序,先查找对象自身的属性和方法,有则返回,没有则查找类对象中的属性。
一般属性保存到实例对象中,方法保存到类对象中。
类对象中的方法的第一个形参一般是调用方法的对象本身,习惯设置为:self

类的特殊方法init

类中的属性在类初始化时执行一次,init方法在每次创建对象时执行。

# __init__方法,特殊方法不需要自己调用
class People():
  # 定义__init__,每次创建对象时调用
  # 使用类创建对象时输入的实参会按顺序传递到init形参中
  def __init__(self,name):
    # 通过self向新创建的对象初始化属性
    self.name = name
    
  # 定义一个方法,与定义函数的方法类似,在定义方法时必须有一个形参,否则会报错
  def say_hello(self):
    print('我是类中的方法')

# 调用类创建对象
p1 = People('chuck')

类属性与方法的创建与使用流程

  1. 定义类
  2. 定义init特殊方法定义形参
  3. 定义方法,第一个参数为self自身
  4. 使用类创建实例对象,传入实参

示例:

class Person():
  def __init__(self,name):
    self.name = name
  def say_hello(self):
  print('大家好,我是%s'%self.name)

p1 = Person('lym')
上一篇:Practical Training 继承2(原型链)


下一篇:每日一读 - sort包