python 3 类的用法(自动化)

本文详细介绍了Python面向对象编程的基本概念,包括类的创建、构造器、类变量与实例变量的区别、类的继承性以及私有变量和私有方法的使用。通过实例展示了属性方法、类的继承和实例化过程,以及如何访问和修改类变量。同时,讨论了类的属性方法和私有方法的实现,以及类变量和实例变量的差异。
摘要由CSDN通过智能技术生成

#1、创建类及类变量 

class person:
    name = "zhangsan"   #类变量
    def say (self):     #定义方法
        print(f"hello{person.name}")

#访问类变量
print(person.name)
person.name ="lisi"    #类名修改影响所有实例
#访问类中定义的方法,需要先实例化类
a = person() #a是实例化类
a.say()
a.name = "zhangsan"   #修改
print(a.name)
b = person()
print(b.name)
#2、构造器
class person:
    def __init__(self,name):    #可以添加多参(self,name,age)
        #构造器
        self.username=name      #实例变量  也可以写死self.age=20
        self.age = 20
        self.email = f"{name}@163.com"
    def say(self):
        print(f"hello{self.username},age:{self.age},{self.email}")

a = person("张三")
a.say()

b = person("李四")
b.say()
3、类变量实例变量的区别 self都指向实例
class emp :
    up = 0.1
    def __init__(self,name,salary):
        self.username = name
        self.salary = salary

    def up_salary(self):
        self.salary = self.salary * (1+self.up)   #(1+emp.up)

emp.up = 0.2       #类变量,全局
a = emp("张三",10000)
a.up = 0.2         #类变量,单个
a.up_salary()
print("张三",a.salary)

b = emp("李四",8000)
b.up_salary()
print("李四",b.salary)
#4、类的继承性 更多属性
class animal:
    def __init__(self,name,legs):
        self.name = name
        self.legs =legs

    def info(self):
        print(f"name:{self.name},legs:{self.legs}")

class dog(animal):     #类的继承
    pass
class cat(animal):     #类的继承
    def walk(self):
        print(f"{self.name}用{self.legs}条腿走路")

a = dog("汪汪",4)
a.info()

b=cat("喵喵",4)
b.info()
b.walk()
 


#5、类的私有变量和私有方法

class animal:
    def __init__(self,name,legs):
        self.name = name
        self.legs = legs
        self.__age = 10

    def info(self):
        print(f"name:{self.name},legs:{self.legs}")
        #{self.__age} 可以在自己的类内部使用

    def __test(self):      #私有方法
        print("私有方法")

class dog(animal):    #类的继承
    pass
class cat(animal):    #类的继承
    def walk(self):
        print(f"{self.name}用{self.legs}条腿走路")
        #{self.__age}不可以在外部类使用

a = dog ("汪汪", 4)
a.info()

b = cat("喵喵", 4)
b.info()
 

#6、类的属性方法

class person:
    def __init__(self,name):
        self.__name = name  #self.__name 类的变量私有化

    @property          #加上 return 就可以变量私有化访问
    def name(self):
        return self.__name

    @name.setter
    def name(self,value):
        self.__name = value


a = person("zhang")
print(a.name)        #print(a.__name)类的外部访问汇报错
a.name = "list"
print(a.name)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值