Python学习总结【连载】(十一)

Python学习总结【连载】(十一)

2018.06.26 Juttachen


概述

+ 36 类的概述

  • 编程思想
  • 类的概述和声明
  • 对象的的创建和调用

三十六、类的概述

1.编程思想

面向过程的编程:c (一步一步的,只有逻辑和过程)

    a = 1
    b = 2
    print(a+b)

面向对象编程:java,c++,oc,python等(有类语法)-->(以对象为工具实现功能)

    # obj.sum(1,2)

函数式编程:c,java,python(以函数为工具实现功能)

    def sum1(num1,num2):
        return num1+num2
    sum1(1,2)

2.类的概述

a.类

对具有相同属性和相同功能(能做的事情--->函数)的对象的集合,是抽象的。

b.对象

就是类的实例,是具体的。
例子:如果说车是一个类,楼下的那一辆红色的轿车就是一个对象。
如果说电脑是一个类,我桌上的黑色电脑就是一个对象。

3.类的声明

a.格式:

class 类名:
类的内容

class

python中声明类的关键字

类名

标识符,额外要求:1)首字母大写 2)见名知意

冒号

固定格式,冒号后一个缩进的内容就是类的内容

类的内容:

1)类变量 (类属性)
声明在类中,但是在方法外的变量;要通过类去获取(属于这个类共有的,通过类能让其具体的属性)
2)对象属性

3)方法(构造方法,对象方法,类方法,静态方法)
方法:声明在类中的函数就叫方法

声明一个人对应的类

    class Person:
        # count就是类变量(通过类去)
        count = 61 #局部变量,作用域是整个类

构造方法init,名字固定
通过类创建对象的时候的时候,系统会自动的调用去初始化
self
1.类中所有的对象方法都会默认有一个self参数,用来指向调用方法的对象(谁调用当前这个方法就指向谁)
2.调用带有self的方法,不需要给self传参,系统会自动将方法调用者转给它

        def __init__(self,name1=''):
    # 我们一般在这个地方去声明对象的属性
    # name,age,gerder就是人这个类的对象的属性
            self.name = name1
            self.age= 0
            self.gender = '女'

对象方法:
1.所有的对象方法都有一个默契的参数self
2.直接声明在类中的函数,都是对象方法
3.对象必须使用对象去调用

        def run(self):
              print('跑起来')

1.使用类变量:通过类名。变量通过类名.类变量 的形式在类外去使用类变量

    print(Person.count)

2.name,agen,name都是对象的属性不服,对象属性的使用:对象.属性名
3.对象方法run:对象方法只能通过对象去调用-->对象.方法名(实参列表)

    # run() #NameError:name 'run' is not defined
    # Person.run()

4.怎么声明对象:类名(参数)
通过类创建对象:会自动调用类的init方法去初始化对象的属性

类名(参数),这个参数有没有,就看有几个init方法

    p1 = Person('Luolaoshi') #通过Person类,创建了一个对象p1

创建完对象后,就可以通过对象获取对象属性:对象.属性名

    print(p1.name)
    # 通过对象给属性赋值
    p1.age = 10
    print(p1.age)

通过对象去调用对象方法(也叫给对象发送消息)

    p1.run()

5.一个类可以拥有多个对象

    p2 = Person()
    p2.name = 'LuoHao'
    p2.age = 34
    p2.gender = '男'
    p2.run()

你可能感兴趣的:(Python学习总结【连载】(十一))