zoukankan      html  css  js  c++  java
  • Python自动化开发课堂笔记【Day06】

    类与对象

    面向过程的程序设计:
      优点:极大的降低了程序的复杂度
      缺点:一套流水线或者流程就是用来解决一个问题,生产汽水的流水线无法生产汽车,即使能,也是得大改,改一个组件,牵一发而动全身
    面向对象的程序设计
      优点:解决了程序的扩展性,对于某一个对象单独修改,会立刻反映到整个体系中,如对游戏中一个人物参数的特征和技能修改都很容易
      缺点:可控性差,无法像面向过程的程序设计流水线式的可以很精准的预测问题的处理流程和结果,面向对象的程序一旦开始就由对象之间的交互解决问题,谁也无法预测最终结果。

    python中一切皆对象,且python3统一了类与类型的概念,类型就是类。
    
    >>> dict #类型dict就是类dict
    <class 'dict'>
    >>> d = dict(name='egon') #实例化d
    >>> d.pop('name')#向d发一条消息,执行d的方法
    'egon'
    
    类是一系列对象共有的特征(变量的定义)与技能(函数的定义)的结合体
    class Chinese:
        country='China'
        # Chinese.__init__(p1,'egon','18','male')
        def __init__(self,name,age,sex):
            #p1.Name=name;p1.Age=age,p1.Sex=sex
            self.Name=name
            self.Age=age
            self.Sex=sex
        def talk(self):
            print('talking',self)
    
    
    属性的引用
    print(Chinese.country)
    print(Chinese.talk)
    Chinese.talk(123)
    Chinese.x=1
    print(Chinese.x)
    Chinese.country=123123123123123
    print(Chinese.country)
    
    #实例化
    class Chinese:
        country = 'China'
        # Chinese.__init__(p1,'egon','18','male')
        def __init__(self, name, age, sex):
            # p1.Name=name;p1.Age=age,p1.Sex=sex
            self.Name = name
            self.Age = age
            self.Sex = sex
        def talk(self):
            print('%s is talking' %self.Name)
    p1=Chinese('egon','18','male') #Chinese.__init__(p1,'egon','18','male')
    p2=Chinese('alex','9000','female') #Chinese.__init__(p1,'egon','18','male')
    
    对象的使用:只有一种,就是属性引用
    print(p1.Name)
    print(p1.Age)
    print(p1.Sex)
    print(p2.Name)
    print(p1.country)
    print(p2.country)
    p1.talk()
    p2.talk()
    
    class Chinese:
        country = 'China'
        def __init__(self, name, age, sex):
            # self.country=123123123123123123
            self.Name = name
            self.Age = age
            self.Sex = sex
        def talk(self):
            print('%s is talking' %self.Name)
    查看类名称空间
    print(Chinese.__dict__)
    对象的空间
    p1=Chinese('egon','18','male') #Chinese.__init__(p1,'egon','18','male')
    p2=Chinese('alex','180','male')
    print(p1.__dict__)
    print(p1.Age) #p1.__dict__['Age']
    print(p1.country,id(p1.country))
    print(p2.country,id(p2.country))
    print(Chinese.talk)
    print(p1.talk)
    p1.talk() #Chines.talk(p1)
    print(p2.talk)
    p2.talk()#chinese.talk(p2)

     

  • 相关阅读:
    objectivec:初始化字符串
    WP7中代码设置ListBox和LongListSelector条目项的显示位置
    objectivec:重载
    objectivec:分配和初始化对象
    Access数据库中“所有记录中均未找到搜索关键字”的解决方法
    不用ms sql server 公共表达式CTE递归时的循环算法
    关于SQL SERVER 公用表达式CTE应用递归时的模型个人的理解
    [ZT]SQL Server 2008中的CTE递归查询
    [ZT]SQL Server 2008实现"编辑所有行"和"返回所有行"的方法
    数据库操作的表相关事项
  • 原文地址:https://www.cnblogs.com/paodanke/p/6959674.html
Copyright © 2011-2022 走看看