首页 > 其他 > 详细

类和对象

时间:2020-12-10 09:35:36      阅读:26      评论:0      收藏:0      [点我收藏+]

类和对象

类是一个抽象概念,是对一群具有相同特征或者行为的事物一个统称,是抽象,不能直接使用

对象是类的具体事例,归属某个对象的具体的东西,类创建对象的模板。

类由属性和方法组成

  1. 创建类语法

    类名所有单词首写字母大写

    __init__也叫构造函数,创建对象时候自动运行,也可以省略

    self变量绑定的是被创建对象。

    class Phone:
        def __init__(self, brand, price, colour):
            self.brand = brand
            self.price = price
            self.colour = colour
    
        def call(self):
            print("我是手机能通讯!")
    #实例化对象过程
    iphone = Phone(‘apple‘, ‘6788‘, ‘red‘)
    

iphone.call()


2. \__name__作用

\_\_name\_\_直接运行py文件时候,值是\__main__。如果这个py文件作为模块导入的时候,\_\_name\_\_是文件名称,一般作为脚本入口使用.

3. 包就是将多个具有相似或者关联的多个模块放在一个文件夹里,便于统一管理,我们称这个文件夹为包,python包里面都会有\_\_init\_\_.py文件

> 例子:删除列表中元素为奇数的元素

```python
list01 = [3, 7, 5, 6, 7, 8, 9, 13]
length = len(list01)
while length > 0:
 length = length - 1
 if (list01[length]) % 2 != 0:
     list01.pop(length)
#删除列表元素从后往前删除,从前往后删除,后面元素下标会变成前一个元素下标。
  1. 实例成员

    实例变量

    class Wife:
        pass
    
    w01 = Wife()
    #创建实例变量,但是不建议这么做。一个类成员一般由定义类时候决定,不是由使用类时候决定。
    w01.name = ‘李小凤‘
    w01.name = ‘范冰冰‘
    

print(w01.name)


实例方法

语法
(1)定于:def 方法名称(self, 参数列表):
(2)调用:对象地址.实例方法名称(参数列表),不建议通过类名去调用
(3)至少有一个形参,第一个参数绑定调用这个方法对象,一般命令为self
(4)无论创建多少个对象,方法只有一份,并且被所有。并且被所有对象共享。

```python
class Dog:
    def __init__(self, pingZhong, nike, age, weight=0):
        self.pingZhong = pingZhong
        self.nike = nike
        self.age = age
        self.weight = weight
        # 生成参数的快捷键:alt + 回车

    def eat(self):
        print(self.nike, "要吃东西!")

    def cry(self):
        print(self.nike, "会呼叫主人!")

d01 = Dog(‘金毛‘,‘旺财‘, 23, ‘50KG‘)
d01.eat()
  1. 类成员

    类变量:在类里面,在成员方法和类方法之外的变量

    类方法:

    • 定义:
      @classmethod
      def 方法名称(cls,参数列表)
      方法体

    • 调用:
      类名.方法名(参数列表)
      不建议通过对对象方位类方法

    class ICBC:
        # 类变量
        total_money = 10000000
    
        # 类方法
        # 类方法主要作用就是操作类变量
        @classmethod
        def printTotalMoney(cls):
            print("总行的钱是", cls.total_money)
    
        def __init__(self, name="", money=0):
            self.name = name
            self.money = money
            # 访问类变量是类名.变量名
            ICBC.total_money -= money
    
    ICBC.printTotalMoney()
    i01 = ICBC("深圳分行", 3000000)
    i02 = ICBC("广州分行", 4000000)
    
全局变量:存储在文件中
局部变量:存储在栈帧中
类变量:存储在类中
实例变量:存储在对象中

当以后想表达自己的数据就用实例变量,
当你表达大家数据就用类变量

类和对象

原文:https://www.cnblogs.com/Hi-Son/p/14111876.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!