类的结构:属性与方法

Python 面向对象编程入门

George Boorman

Curriculum Manager, DataCamp

一个 Customer 类

class Customer:

# 类的代码写在这里
pass
  • class <name>: 开始类定义
  • class 内代码需缩进
  • pass 创建"空"类
c_one = Customer()
c_two = Customer()
  • ClassName() 创建 ClassName 类的对象
Python 面向对象编程入门

为类添加方法

class Customer:  

def identify(self, name): print("I am Customer " + name)
  • 方法定义 = 类内的函数定义
  • 方法定义中第一个参数须为 self
cust = Customer()
cust.identify("Laura")
I am Customer Laura
  • 调用对象方法时忽略 self
Python 面向对象编程入门
class Customer:  
    def identify(self, name):
        print("I am Customer " + name)

cust = Customer()
cust.identify("Laura")

什么是 self?

  • 类是模板
  • self 应是任一方法的第一个参数
  • self 代表(尚未创建的)对象
  • cust.identify("Laura") 将被解释为 Customer.identify(cust, "Laura")
Python 面向对象编程入门

我们需要属性

  • 面向对象将数据与操作数据的方法绑定
    • Customer 的姓名应为一个属性

 

$$\text{\Large{属性在方法中用赋值(=)创建}}$$

Python 面向对象编程入门

为类添加属性

class Customer:  
    # 将对象的 name 属性设为 new_name
    def set_name(self, new_name):

# 通过赋值创建属性 # 调用 set_name 时会创建 .name self.name = new_name
# 创建对象 # 此时还没有 .name cust = Customer()
# 创建 .name 并设为 "Lara de Silva" cust.set_name("Lara de Silva")
print(cust.name)
Lara de Silva
Python 面向对象编程入门

旧版

class Customer:  



    # 使用参数
    def identify(self, name):
        print("I am Customer" + name)
cust = Customer()

cust.identify("Eris Odoro") 
I am Customer Eris Odoro 

新版

class Customer:  
   def set_name(self, new_name):
       self.name = new_name

# 使用对象自身的 .name def identify(self): print("I am Customer" + self.name)
cust = Customer()
cust.set_name("Rashid Volkov")
cust.identify()
I am Customer Rashid Volkov
Python 面向对象编程入门

让我们来练习!

Python 面向对象编程入门

Preparing Video For Download...