zoukankan      html  css  js  c++  java
  • 类和对象

    面向过程:核心是“过程”,它是解决问题的步骤,流水线般的思维方式。

    优点是:对问题,复杂的问题简单化

    缺点:不容易扩展功能

    面向对象:核心是“对象”,它是特征和技能的结合体。

    优点:可扩展能力强

    缺点:编程复杂度高

    应用场景:用户需求经常变化,互联网应用,游戏,企业内部应用。

    类:是指一些列对象相似的特征和技能的结合体。(在不同的角度,得到的分类是不同的)。

    在现实中是:先有对象,后有类。

    在编程中是:先定义类,后有对象。

    class Luffystudent:                 
        school = 'luffycity'               #类的数据属性,又称静态变量:在class内,但不再class的方法内。
    
        def __init__(self,name,age,sex):   #__init__:方法是用来为对象定制对象自己独特的属性
            self.Name = name               #实例变量:在类的方法内,且被self所修饰
            self.Age = age
            self.Sex = sex
    
        def learn(self):
    print('self1') def sleep(self): print('self2') print('yes') # 用来证明当类定义的时候已经执行了 print(Luffystudent.__dict__) print(Luffystudent.school) # ==Luffycity.__dict__['school'] print(Luffystudent.learn) # ==Luffycity.__dict__['school'] stu1 = Luffystudent('zhang', 38, '男') #定义了一个对象,参数是对象独有的属性 stu2 = Luffystudent('li san', 18, '男') print(stu1.__dict__) # 查看实例对象stu1的命名空间 print(stu1.school) # 类的对象是可以调用类的数据属性和函数属性 stu1.sleep() # 类的第一大用途:对属性的操作,增,删,改,查
    #第二大用途:实例化产生一个一个对象 Luffystudent.country = 'CHINA' # 增 print(Luffystudent.__dict__) del Luffystudent.country # 删 print(Luffystudent.__dict__) Luffystudent.school = 'LUFFYCITY' # 改 print(Luffystudent.__dict__) #查

      

    加__init__方法后,实例化的步骤:

    #先产生一个空对象stu1.

    #类的__init__(self,....)中的self是把生成的对象stu1当为self

    #类中的函数属性:是绑定给对象使用,绑定到不同对象是不同的绑定方法,对象调用绑定的方法时会把对象当作第一个传入给self。

    对象对变量的查找顺序:先找自身下的属性,再在类中找,然后就是父类,以此类推。但绝不会再类外找!

  • 相关阅读:
    spark 插入数据到mysql时遇到的问题 org.apache.spark.SparkException: Task not serializable
    Linux编译安装python3
    爬取基于Flex技术的网站数据
    转:MySQL到Greenplum迁移分析
    Greenplum基本介绍
    Hive on Spark
    Flume可分布式日志收集系统
    Redis高性能内存数据库
    Kafka 分布式发布-订阅消息系统
    Spark学习之Spark Streaming
  • 原文地址:https://www.cnblogs.com/z18271397173/p/8593484.html
Copyright © 2011-2022 走看看