Python(九)类和对象

Python 类/对象

Python 是一种面向对象的编程语言。
Python 中的几乎所有东西都是对象,拥有属性和方法。
类(Class)类似对象构造函数,或者是用于创建对象的“蓝图”。

创建类

class关键字用来创建类

class MyClass:   
    x = 5 

创建对象

创建类后,需要创建对象来调用类

class MyClass:   
    x = 5
    
p1 = MyClass() 
print(p1.x) 

在这里插入图片描述

上面的例子是最简单形式的类和对象,在实际应用程序中并不真正有用。

init() 函数

所有类都有一个名为 __init__()的函数,__init__()函数在启动类时执行
使用 init() 函数将值赋给对象属性,或者在创建对象时需要执行的其他操作

class Person:   
    def __init__(self, name, age):     
        self.name = name     
        self.age = age 

if __name__ == "__main__":
    p1 = Person("Tom", 18) 
    print(p1.name) 
    print(p1.age)

在这里插入图片描述

注意:每次使用类创建新对象时,都会自动调用 __init__()函数。

对象方法

对象也可以包含方法,对象中的方法是属于该对象的函数

class Person:   
    def __init__(self, name, age):     
        self.name = name     
        self.age = age   
    def myfunc(self):     
        print("Hello my name is " + self.name) 
        
if __name__ == "__main__":        
    p1 = Person("Tom", 18) 
    p1.myfunc() 

在这里插入图片描述

提示:self 参数是对类的当前的引用,用于访问属于该类的变量。

self 参数

self参数是对类的当前的引用,用于访问该类访问范围内的变量
它不必被命名为self,可以定义为任何名称,但它必须是类中任意函数的首个参数

class Person:   
    def __init__(myself, name, age):     
        myself.name = name     
        myself.age = age   
    def myfunc(abc):     
        print("Hello my name is " + abc.name)
        
if __name__ == "__main__":
    p1 = Person("Tom", 18) 
    p1.myfunc() 

在这里插入图片描述

修改对象属性

您可以这样修改对象的属性

class Person:
  def __init__(self, name, age):
    self.name = name
    self.age = age

  def myfunc(self):
    print("Hello my name is " + self.name)

if __name__ == "__main__":
    p1 = Person("Tom", 18)   
    p1.age = 81    
    print(p1.age)

在这里插入图片描述

删除对象属性

您可以使用del关键字删除对象的属性

class Person:
  def __init__(self, name, age):
    self.name = name
    self.age = age

  def myfunc(self):
    print("Hello my name is " + self.name)

if __name__ == "__main__":
    p1 = Person("Tom", 18)
    del p1.age 
    print(p1.age)

image.png](https://img-blog.csdnimg.cn/img_convert/764e2ab536874363801e57d7c13cbfda.png#clientId=u4a5e479b-555c-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=118&id=ub8381778&margin=[object Object]&name=image.png&originHeight=236&originWidth=1340&originalType=binary&ratio=1&rotation=0&showTitle=false&size=57370&status=done&style=none&taskId=u1066ee45-439d-4bd9-8081-497f9aa0b1f&title=&width=670)[

注意:AttributeError这个错误就是说python找不到对应的对象的属性

删除对象

使用del关键字删除对象

class Person:
  def __init__(self, name, age):
    self.name = name
    self.age = age

  def myfunc(self):
    print("Hello my name is " + self.name)

if __name__ == "__main__":
    p1 = Person("Tom", 18)
    del p1
    print(p1)

在这里插入图片描述

注意:NameError是未命名错误

pass 语句

类定义不能为空,但是如果您处于某种原因写了无内容的类定义语句,请使用 pass 语句来避免错误

class Person:   
    pass
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值