zoukankan      html  css  js  c++  java
  • python.day.09——面向对象编程(一)

    一、类与对
    • 类:属性、动作(具有共同的属性,共同的动作)
    • 对象:每个类下面的实例
    • 语法: 关键字  class  函数 def
    • 类的语法:  class   类名  #顶格写   见名知意   驼峰命名(printName)
                                   属性
                                   函数 
    •  举例---->创建一个对象/实例化

    换件实例:  a  = 类名()   #那么a就是一个对象     

    #语法
    class giilFriend:
    # 属性
        name = "追求"
        age = 12
        car =1
        def earn_money(self):  # 与普通函数的区别? 有一个关键字 self
            print("会赚钱")
    
        def cooking(self):
            print("做超级多的饭")
    # 实例化
    gril_firend = giilFriend()
    print(gril_firend.name)
    print(gril_firend.age)
    print(gril_firend.cooking())
    
    控制台输出:
    追求
    12
    做超级多的饭
    None
    • 操作注意:
    • a.类里面的属性,和函数只能是类的实例去调用,不能单独调用--->局部变量
    • b.调用属性的方法:实例名.属性名
    • c.调用函数的方法:实例名.函数名
    • d.类里面的函数调用类里面的属性:需要加一个关键字“self.属性名”
    #语法
    class giilFriend:
    # 属性
        name = "追求"
        age = 12
        car =1
        def earn_money(self):  # 与普通函数的区别? 有一个关键字 self
            return("会赚钱")
    
        def cooking(self):
           return("做超级多的饭")
    # 实例化
    gril_firend = giilFriend()
    print(gril_firend.name)
    print(gril_firend.age)
    print(gril_firend.cooking())
    
    控制台输出:
    追求
    12
    做超级多的饭
    • 可以进行传参:传参和以前的传参一致
    #语法
    class giilFriend:
    # 属性
        name = "追求"
        age = 12
        car =1
        def earn_money(self,money):  # 与普通函数的区别? 有一个关键字 self
            return("会赚钱%s" %money)
    
        def cooking(self):
           return("做超级多的饭")
    # 实例化
    gril_firend = giilFriend()
    print(gril_firend.name)
    print(gril_firend.age)
    print(gril_firend.cooking())
    print(gril_firend.earn_money(30000))
    
    控制台输出:
    追求
    12
    做超级多的饭
    会赚钱30000
    • 类里面的函数调用类里面的属性与函数:需要加一个关键字“self.属性名  self.函数名”
    class giilFriend:
    # 属性
        name = "追求"
        age = 12
        car =1
        def earn_money(self, money): # 与普通函数的区别? 有一个关键字 self
        return ("会赚钱%s" % money)
    #  函数
        def cooking(self):
            return ("做超级多的饭")
    
        def get_name(self):
            return ("女朋友的名字%s" %self.name)   #类里面的函数调用类里面的属性
    
        def get_cooking(self):
            return ("做了多少饭:%s" %self.cooking())  # 类里面的函数调用类里面的函数
    
        def get_money(self, n1):
            return ("转了好多钱: %s" %self.earn_money(n1))  #类里面的函数调用类里面可以传参的函数
    # 实例化
    gril_firend = giilFriend()
    print("1:", gril_firend.name)
    print("2:", gril_firend.age)
    print("3:", gril_firend.cooking())
    print("4:", gril_firend.earn_money(30000))
    print("5:", gril_firend.get_name())
    print("6:", gril_firend.get_cooking())
    print("7:", gril_firend.get_money(2000))
    
    控制台输出:
    1: 追求
    2: 12
    3: 做超级多的饭
    4: 会赚钱30000
    5: 女朋友的名字追求
    6: 做了多少饭:做超级多的饭
    7: 转了好多钱: 会赚钱2000
    class giilFriend:
        name = "追求"
        age = 12
        def earn_money(self, money): # 与普通函数的区别? 有一个关键字 self
            return ("会赚钱%s" % money)
        def get_name(self, name):
            return ("女朋友的名字%s" %name)
        def get_money(self, n1, name):      # 传参与调用
            name2 = self.get_name(name)
            print(name2)
            return ("转了好多钱: %s" %self.earn_money(n1))
    # 实例化
    gril_firend = giilFriend()
    print("%s" %gril_firend.name)
    print(gril_firend.get_money(7000, '那兔'))
    
    控制台输出:
    追求
    女朋友的名字那兔
    转了好多钱: 会赚钱7000
    练习题:
    创建一个车子类:  属性:价格  颜色  品牌     技能:上山  下海  上天
    class car:
        price = 100000
        color = 'green'
        brand = '大众'
        def skill_01(self, s1):
            return ("技能1:%s" %s1)
        def skill_02(self, s2):
            return ("技能2:%s" % s2)
        def skill_03(self,s1,s2):
            ski_1 = self.skill_01(s1)
            ski_2 = self.skill_02(s2)
            return ("终极技能:劳资能上天,%s" %(ski_1+ski_2))
    mycar = car()
    print("我的车子的价格是%s" % mycar.price, "颜色是%s" % mycar.color, "品牌是%s" % mycar.brand)
    print("我的车子贼6呢:%s!!!" % mycar.skill_03("劳资可以上刀山", "劳资可以下火海"))
  • 相关阅读:
    Lock、Synchronized锁解析
    js多个计时器互不影响触发
    php Excel文件导入 Spreadsheet_Excel_Reader
    Tcp/ip简介
    对称加密和非对称加密
    AFNetworking 3.0迁移指南
    从 Objective-C 里的 Alloc 和 AllocWithZone 谈起
    iOS 沙盒
    SDWebImage解析
    dSYM文件
  • 原文地址:https://www.cnblogs.com/Rosay9204781/p/9173765.html
Copyright © 2011-2022 走看看