栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【python面向对象学习笔记】类基本语法

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【python面向对象学习笔记】类基本语法

class Dog:
    dtype = "京巴"  # 属性,类属性,又称为类变量,公共属性,被所有实例所共享

    def __init__(self,name,age,sex) -> None:  
        # 初始化方法/构造方法/构造函数,实例化时进行一些初始化工作
        # 实例特有的东西,可以写在这里面
        # 实例化时传入的参数,会传入到这里面
        print("hhhhh",name,age)
        # 如果不把变量与实例进行绑定,变量不会保存到内存中
        # 实例属性,实例变量,成员变量,每个实例独享
        self.name = name  # 把传入的参数和实例进行绑定
        self.age = age  # 打通构造方法与其他方法之间的变量壁垒
        self.sex = sex 
        
    def sayhi(self):
        # 方法,第一个参数必须是self    self,代表实例本身
        # 此方法中的参数,与其他方法中的参数无法共享
        print(f"Hello,I am a dog,my type is{self.dtype}.My name is {self.name}.My age is {self.age}.")

class Person:
    
    nationality = "China"

    def __init__(self,name,age,sex) -> None:
        self.name = name
        self.age = age
        self.sex = sex

    def introduce(self):
        # 在实例方法中调用类属性要加类名,类.类属性
        print(f"Hello!My name is {self.name}.I'm {self.age} years old.I'm {self.sex}.I come from {self.nationality}.")

if __name__=="__main__":
    d1=Dog("白云",3,sex = "母狗") # 生成了一个实例
    d2=Dog("黑土",5,sex = "公狗")
    d1.sayhi()  # 实例.方法
    Dog.dtype="金毛"
    print(Dog.dtype)  # 类.属性
    print(d1.dtype)  # 实例.属性
    print(d1.sex,d2.sex)  # 实例属性只存在于实例自己的内存里,只能通过实例来调用
    print(d1.name,d2.name)
    p1=Person("Alex",23,"male")
    p2=Person("Bob",23,"male")
    p3=Person("Cindy",23,"female")
    p4=Person("Danial",23,"male")
    p4.nationality="America"
    p1.introduce()
    p2.introduce()
    p3.introduce()
    p4.introduce()
实例化时计算机内存做的事:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/925988.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号