Python教程

python笔记整理第六十一篇(面向对象和面向过程、类与对象)

本文主要是介绍python笔记整理第六十一篇(面向对象和面向过程、类与对象),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

面向过程和面向对象的区别:
面向过程事物比较简单,可以用线性的思维去解决,面向对象事物比较复杂,使用简单的线性思维无法解决。

面向过程和面向对象的共同点:
面向过程和面向对象都是解决实际问题的一中思维方式。
二者相辅相成,并不是对立的,解决复杂问题,通过面向对象方式方便与我们从宏观上把握时间之间的复杂的关系、方便我们分析整个系统;具体到微观操作,仍然使用面向过程方式来处理。

类:类别、,分门别类,物以类聚,人类,鸟类,动物类,植物类…

类是多个类似事物组成的群体的统称。能够帮助我们快速理解和判断事物的性质。

数据类型:不同数据类型属于不同的类
使用内置函数查看数据类型

对象:如100,99,520都是int类之下包含的相似的不同个例,这个个例专业术语称为实例或对象。

类的创建:
创建类的语法:

class  Student:
        pass

类的组成:
类属性
实例方法
静态方法
类方法

对象的创建:又称为类的实例化
语法:实例名 = 类名()
代码如下:

class Student:   #Student为类名称,有一个或多个单词组成,每个单词的首字母大写,其余小写
    native_plac = '湛江'    #直接写在类里的变量,称为类属性
    def __init__(self,name,age):
        self.name = name      #self.name称为实体方法,进行了一个赋值的操作,将局部变量的name的值赋给实体属性
        self.age = age
    #实例方法
    def eat(self):
        print('在路边炒粉')

    #静态方法
    @staticmethod
    def method():
        print('我使用了staticmethod进行修饰,所以我是静态方法')
    #类方法
    @classmethod
    def method(cls):
        print('我使用了classmethod进行修饰,所以我是类方法')

#在类之外定义的称为函数,在类之内定义的称为方法
def drink():
    print('在街边喝扎啤')

#Python中一切皆对象Student是对象吗?内存有开空间吗?
#print(id(Student))
#print(type(Student))
#print(Student)

#创建Student类对象
stu1 = Student('张三',20)
print(stu1)
print(stu1.name,end='\t')
stu1.eat()       #对象名.方法名()
print(stu1.age)

print('________---------------')
Student.eat(stu1)      #类名.方法名()    39行代码与35行代码功能相同,都是调用Student中的eat方法

运行方法:

<__main__.Student object at 0x01E4EF90>
张三	在路边炒粉
20
________---------------
在路边炒粉

Process finished with exit code 0

类属性、类方法、静态方法:
类属性:类中方法外的变量称为类属性,被该类的所有对象所共享
类方法:使用@classmethod修饰的方法,使用类名直接访问的方法
静态方法:使用@staticmethod修饰的方法,使用类名直接访问的方法

代码如下:

class Student:   #Student为类名称,有一个或多个单词组成,每个单词的首字母大写,其余小写
    native_plac = '湛江'    #直接写在类里的变量,称为类属性
    def __init__(self,name,age):
        self.name = name      #self.name称为实体方法,进行了一个赋值的操作,将局部变量的name的值赋给实体属性
        self.age = age
    #实例方法
    def eat(self):
        print('在路边炒粉')

    #静态方法
    @staticmethod
    def method():
        print('我使用了staticmethod进行修饰,所以我是静态方法')
    #类方法
    @classmethod
    def me(cls):
        print('我使用了classmethod进行修饰,所以我是类方法')

#在类之外定义的称为函数,在类之内定义的称为方法
def drink():
    print('在街边喝扎啤')

#Python中一切皆对象Student是对象吗?内存有开空间吗?
#print(id(Student))
#print(type(Student))
#print(Student)

#创建Student类对象
stu1 = Student('张三',20)
stu2 = Student('李四',22)


#类属性的使用方法
print(Student.native_plac)

print(stu1.native_plac)
print(stu2.native_plac)
Student.native_plac = '雷州'
print(stu1.native_plac)
print(stu2.native_plac)

print('-------------------类方法的使用----------------')
Student.me()

print('-------------------静态方法的使用----------------')
Student.method()

运行结果:

湛江
湛江
湛江
雷州
雷州
-------------------类方法的使用----------------
我使用了classmethod进行修饰,所以我是类方法
-------------------静态方法的使用----------------
我使用了staticmethod进行修饰,所以我是静态方法

Process finished with exit code 0

这篇关于python笔记整理第六十一篇(面向对象和面向过程、类与对象)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!