Python中类和对象的超细解析

一、python中的类和对象:

1.代码如下:

示例:

import self as self


class Student:
    native_place='吉林'
    def __init__(self,name,age):
        self.name=name#self.name 称为实体属性,进行了一个赋值的操作,将局部变量的name的值赋给实体属性
        self.age=age



    #实例方法
    def eat(self):
        print('学生在吃饭.....')

    def eat1(self):
        print(self.name + '在吃饭')

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

    #类方法
    @classmethod
    def cm(cls):
        print("我是类方法,我使用了classmethod进行修饰")

def drink():#函数
    print("喝水")

stu1=Student('张三',20)
stu1.eat()
print(stu1.name)
print(stu1.age)

print('------------------------')
#类属性的使用方式
print(Student.native_place)
print('-------类方法的使用方式----------------')
Student.cm()
print('---------静态方法的使用方式-----------------')
Student.method()

print('----------------------------------')



stu2=Student('王五',33)
stu3=Student('赵六',22)
stu2.gender='男'
print(stu2.name,stu2.age,stu2.gender)
print('-----------------------------')
stu2.eat1()
stu3.eat1()
print('----------------------------------')

def show():
    print('定义在类之外的称为函数')

stu2.show=show
stu2.show()
print('-----')
stu3.show=show
stu3.show()


2.运行结果:

示例:


学生在吃饭.....
张三
20
------------------------
吉林
-------类方法的使用方式----------------
我是类方法,我使用了classmethod进行修饰
---------静态方法的使用方式-----------------
我使用了staticmethod进行修饰,所以我是静态方法
----------------------------------
王五 33-----------------------------
王五在吃饭
赵六在吃饭
----------------------------------
定义在类之外的称为函数
-----
定义在类之外的称为函数

进程已结束,退出代码为 0


总结:

提示:这里对文章进行总结:

      编程界的两大阵营:
 面向过程:事物比较简单,可以用线性的思想去解决。
 面向对象:事物比较复杂,使用简单的线性思维无法解决。
        共同点:面向过程和面向对象都是解决实际问题的一种思维方式
                     二者相辅相成,并不是对立的
                     解决复杂问题,通过面向对象方式便于我们从宏观上把握事物之间的复杂的关系,
                     方便我们分析整个系统,具体到微观操作。仍然使用面向过程方式来解决。

   类的创建:
            class 类名称:
                内容

                 注意:
                    类名称的首字母大写,其余小写
                    直接写在类里的变量称为类属性
                    在类之外定义的称为函数,在类之内定义的称为方法
  类的组成:
            类属性:类中方法外的变量称为类属性,被该类的所有对象所共享
            类方法:使用@classmethod修饰的方法,使用类名直接访问的方法
            静态方法:使用@staticmethod修饰的方法,使用类名直接访问的方法



         类属性:
                  class Student:
                    native_place='吉林‘   类属性
                    def__init__(self,name,age):           name  age为实例属性
                       self.name=name
                       self.age=age
         实例方法:
                  def info(self):
                        print("我叫:",self.name,"年龄为:",self.age)

         静态方法:
                   @staticmethod
                   def sm():
                     print("静态方法")
         类方法:
                  @classmethod
                  def cm(cls):
                    print("类方法")

   对象的创建:
       对象的创建又称为类的实例化
         语法:
                 实例名=类名()
         例子:
                 #创建Student类的实例对象
                 stu=Student(’Jack‘,20)
                 print(stu.name)#实例属性
                 print(stu.age)#实例属性
                 stu.info()    #实例方法
         意义:
                 有了实例,就可以调用类中的内容

  对象的调用:
            对象名.方法名()
            类名.方法名(类的对象)---》实际上就是方法定义处的self

             print(Student.native_place)  访问类属性
             Student.cm()            调用类方法
             Student.method()           调用静态方法
动态绑定属性和方法:
   python是动态语言,在创建对象之后,可以动态的绑定属性和方法
            def show():
               print("我是一个函数")

            stu=Student("Jack",20)
            stu.gender="男"      #动态绑定性别
            print(stu.name,stu.age,stu.gender)
            stu.show=show    #动态绑定方法
            stu.show()
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值