• Python课程笔记(三)


    1、python定义类、创建对象

    class Myclass:                 # 定义Myclass类
        def sum(self,x,y):
            self.x = x
            self.y = y
            return self.x+self.y
    
    obj = Myclass()       # 创建obj对象,与Java不一样的是不需要new
    s = obj.sum(3,5)
    print('s=',s)
    

    该程序定义类Myclass,并创建对象,通过对象调用类的方法。

    创建对象格式:对象名 = 类名()

    调用成员方法:对象名.方法名(self) (self的使用方法类似java中的this)

    2、私有成员

    class testPrivate:
        def __init__(self, x, y):
            self.__x = x
            self.__y = y
    
        def add(self):
            self.__s = self.__x + self.__y
            return self.__s
    
        def printData(self):
            print(self.__s)
    
    
    t = testPrivate(3, 5)
    s = t.add()
    t.printData()
    print("s=", s)
    

    私有成员只能在类的内部调用,由“_ _”做前缀,则为私有成员。

    3、构造方法

    class Person:
        def __init__(self, Name, Age):
            self.name = Name
            self.age = Age
        def main(self):
            print("输入的名字是", self.name)
            print("输入的年龄是", self.age)
    
    
    name = input("请输入你的名字:")
    age = input("请输入你的年龄:")
    p = Person(name, age)
    p.main()
    

    类的构造方法:_ _ init _ _(),构造方法属于对象,每个对象都有自己的构造方法。

    4、析构方法

    析构方法用于释放对象所占用的资源,在python系统销毁对象之前自动执行。可以类比Java中的GC机制

    class Mood:
        def __init__(self, x):
            self.x = x
            print("产生对象:", x)
    
        def __del__(self):
            print("销毁对象:", self.x)
    
    
    f1 = Mood(1)
    f2 = Mood(2)
    del f1
    del f2
    

    5、类的继承

    单继承:class 子类名(父类名):

    ​ 子类的类体语句

    多继承:class 子类名(父类名1,父类名2,...父类名n):

    ​ 子类的类体语句

    Python在多继承时,如果这些父类中有相同的方法名,而在子类中使用时没有使用指定父类名,系统将会从左往右按顺序搜索。

    from ForthClass.Person import Person
    
    
    class Sunny(Person):
        def __init__(self, name, age, score):
            super(Sunny, self).__init__(name, age)
            self.score = score
    
        def prn(self):
            Person.main(self)
            print("成绩:", self.score)
    
    
    name = input("请输入姓名:")
    age = input("请输入年龄:")
    score = input("请输入分数:")
    s = Sunny(name, age, score)  # 实例化子类对象
    s.prn()     # 调用子类方法
    

    6、作业

    设计一个商品类,有商品编号、品名、价格、数量,应用该类,统计商品的总金额。

    class Goods:
        def __init__(self, Num, Name , Price, Count):
            self.num = Num
            self.name = Name
            self.price = Price
            self.count = Count
    
        def TotalPrice(self):
            totalPrice = self.count*self.price
            print("商品的总金额是:", totalPrice)
    
    
    num = input("请输入商品编号:")
    name = input("请输入商品名称:")
    price = eval(input("请输入商品的价钱:"))
    count = eval(input("请输入商品的数量:"))
    g = Goods(num, name, price, count)
    g.TotalPrice()
    
  • 相关阅读:
    项目中遇到的问题:前台 disabled 与 后台disabled
    差距
    那些零碎的感悟,那些成长的事【壹】
    假期数据结构学习总结
    烟大 2242: 回文(栈和队列)
    烟大 2241: 相同序列(栈和队列)
    烟大 2239: 十进制与八进制的转换(栈和队列)
    烟大 2238: 括号匹配(栈和队列)
    hdu 1018:Big Number(水题)
    hdu 2050:折线分割平面(水题,递归)
  • 原文地址:https://www.cnblogs.com/wangzheming35/p/12463513.html
Copyright © 2020-2023  润新知