Python3 面向对象编程(类和对象)

类和对象

今天想和大家聊聊面向对象中的类和对象,其实一开始我学的云里雾里,借鉴了一个我以前看到过的解释,希望可以用大家容易理解的方式来说道说道。
生活中每一个具体的东西都可以被认为是对象,例如华为p40、小米10、苹果11、oppo等手机,你可以认为这些物体是“对象”,虽然他们各不相同、各有特色,但是都可以归结为“手机类”,因为具有相同的属性,例如都有摄像头、电池、显示屏等。也有共同的功能方法,例如都可以打电话、发短信、刷微博等。

类就是把有相同(属性)和(方法)的“对象”归结在一起。
以上这几个具体的手机都是“手机类”实例化出来的“对象”

举例:
精华——雅诗兰黛小棕瓶
编程语言——Python
车——奔驰
单身狗——你我他

类的定义与调用

#英雄类
class Hero:
#构造函数给实例变量赋值,定义两个形参
    def __init__(self,chinesename,slogan):
    #参数传给实例变量
    #chinesename,slogan是所有英雄都会包含的属性
    #实例变量(成员变量)
        self.chinesname=chinesename
        self.slogan=slogan
       #定义一个函数实例对此描述(实例方法)
        def falsh(self):
            print(self.chinesname+":我闪了过去")
 yasuo=Hero("亚索","Death is like wind")
 yasuo.flash()
 print(yasuo.slogan)
 print(yasuo.__dict__)

类(class) 形参self

在类的方法中(如__init__),第一参数永远是self,表示创建的类实例本身,而不是类本身。
self代表当前对象的地址。self能避免非限定调用造成的全局变量。
self不是python的关键字,也可以用其他名称命名,但是为了规范和便于读者理解,推荐使用self。

类变量,实例变量,局部变量

1、全局变量:在模块内、在所有函数外面、在class外面。
2、局部变量:在函数内、在class的方法内(未加self修饰的)。
3、 静态变量:在class内的,但不在class的方法内的。
4、 实例变量:在class的方法内的,用self修饰的变量。

例子

class BankAccount:
    #Constructor构造器
    def __init__(self,accountNumber,accountName,balance):
        self.accountNumber=accountNumber
        self.accountName=accountName
        self.balance=balance
    
    #存钱    
    def deposit(self,amount):
        self.balance=self.balance+amount
    
    #取钱
    def withdraw(self,amount):
        self.balance=self.balance-amount
        
    def __str__(self):
        return "({},{})".format(self.accountNumber,self.balance)
        
b1=BankAccount("98","Tom",520)
b2=BankAccount("19","Jerry",999)


#Tom取100元钱
b1.withdraw(100)
#Jerry存159元
b2.deposit(150)

print(b1.balance)
print(b2.balance)

print(b1.balance<b2.balance)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值