zoukankan      html  css  js  c++  java
  • python面向对象开发视频1 (类 对象 属性)

    教程地址为:http://v.youku.com/v_show/id_XNDg3MzI5Nzcy.html

    第一讲。

    面向对象的笔记
    字符串是个对象
    字符串的属性:它的值
    字符串的方法:查找它的某一个字串
    对象和类-》对字符串的操作

    两种编程过程-》

    开车,要想把所有的步骤学会,你得开车。
    面向过程,很麻烦,一部一部告诉你,定义一个汽车,来开门,插上key,打开火。

    面向对象,是封装到一个代码里面去,他知道怎么开车,封装到里面去。
    C++不是纯面向对象,有java的内容。最后升级了,成为了c#。
    python所有的东西都是对象,数字,变量都是对象。

    数字有的方法,列表也有方法。
    类是对象的抽象化,对象是吧类实例化。

    举个例子,类--人类。对某个事物的描述。对象是有做事的方法,属性。具体的某一个事物。
    类对事物的抽象描述。人类,定义类,会思考,会走路。属性,人的眼睛,外观。
    定义类别,1.描述类别的属性,2.定义的方法。

    对象,是类的一个实例。不能说让人类给扫扫地,能说小王去给扫扫地。小王是具体的一个实体。小王就是对象,小王有腿,可以走路,可以去扫地。

    面向对象:

    面向过程:

    Python 的类的定义,
    想要一堆指令执行的时候,我们便一个函数,这样我们可以执行一堆代码。但是如果四个函数都是属于操作数据库的函数,我们可以把这四个函数放到操作数据库的类中。
    封装方法。

    类可以吧变量和函数组合在一起,这种包含成为“封装”

    >>> class 类名:
    ... 成员变量 # 在日常生活中,说变量==说属性 一回事
    ... 成员函数 # 在日常生活中,说函数==说方法 一回事

    定义变量,类名开头字母大写。
    字母数字下划线。
    数字不能开头
    定义类的时候
    规范-----类单词首字母大写。不管几个单词,每个单词首字母都要大写。类的首字母。

    复习一下,定义函数的时候,一个单词可以小写。两个以上的单词,第二个单词要大写。

    创建类----


    创建对象的过程,叫做实例化。当一个对象被创建好之后,包含三个特性。
    1.句柄 用来区别不同变量的,abc,def变量的名字不一样
    2.属性 成员变量
    3.方法 成员方法

    Python 对象体系结构
    经典对象 就是普通的


    新型对象 定义人的类别的时候,定义新型对象,必须集成object方法 class_name(object)
    新型对象提供了对类和静态方法的支持

    #class Ren: # 加不加括号都可以
    #class Ren():
    class Ren(object): # Ren类继承object中所有的属性与方法
         name = "Ren"
         hight = "One Man's Tall"
         __money = "我有一百万"

    def run(self):
         print "run"

    zhangsan = Ren()
    print zhangsan.__money

    |出现错误。提示,实例里面找不到这个变量
    |
    |
    |
    |python 类的属性。(属性其实就是在定义变量)
    | 变量从结构来看,都是class中的.不能直接访问其内部的属性,得先实例化
    |
    |
    |====> 说明类的属性并不是全部都可以被实例访问到的。
    类中的属性是有区别的。
    公有属性: 类里类外都可以调用的, 普通属性
    私有属性: 在类里面能被访问利用的。在属性前面加“__”两条下划线

    内置属性: 由系统在定义类的时候默认添加的,前后有两条下划线
    __dict__, __module__

    笔记如下-》

    #!/usr/bin/python
    #coding:utf8
    class Ren:
        name = "人"
        hight = "一人高"
        wight = "一人重"
        __money = "我有10块钱"
    
        def run(self):                      # 类的方法定义,必须有一个行参
            print "跑步"
    
    # p = file(,,)   file就是个类,系统定义的类,系统根据参数,实例化产生对象赋值给p
    
    if __name__ == '__main__':      # 这表示如果被别人调用的话,将不执行
                                    # 被自己调用,执行
    
       zhangsan = Ren()  # 把Ren类实例化,变成张三
    
    
       # 访问张三对想的属性通过后面加一个点 .
    
       # 对对象的属性重新赋值
    
       zhangsan.name = "张三"
       #print zhangsan.money                #会报错,因为money在Ren属性中没有
       zhangsan.money = "一百万"  # money 是没有的在Ren类中,我们现在自己加上
       '''
       对象是类的一个实例,但是张三还可以有不同与类的属性
       比如说有钱。人家都没有,就张三有。。。。
       '''
       print zhangsan.money
       #print zhangsan.__money # 这种方法是访问不到的,访问也没有用。会报错的
    

    类的私有属性:

    #!/usr/bin/python
    #coding:utf8
    class Ren:
        name = "人"
        hight = "一人高"
        wight = "一人重"
        __money = "我有10块钱"		# 私有属性
        
        def run(self):			# 类的方法定义,必须有一个行参
    				#有人吧self,写成cls 就是class
    	print self.name			# 类中访问自己类的属性。
    	print "跑步"
    
        def say(self):
    	print self.__money
    
    if __name__ == '__main__':      # 这表示如果被别人调用的话,将不执行
    				# 被自己调用,执行
    
       zhangsan = Ren()  # 把Ren类实例化,变成张三
       zhangsan.name = "张三"
       zhangsan.run()
    
       zhangsan.say()	# 通过调用类中的方法,访问私有属性
    			# 这样可以对内部数据进行封装,数据隐藏
    			# 这个在银行里很有用的。
       #print zhangsan.__money # 这里不可以直接访问私有属性
       print Ren.name	# 直接访问类的共有属性
    

     私有属性的访问:

    #!/usr/bin/python
    #coding:utf8
    class Ren:
        name = "人"
        hight = "一人高"
        wight = "一人重"
        __money = "我有10块钱"		# 私有属性
        
        def run(self):			# 类的方法定义,必须有一个行参
    				#有人吧self,写成cls 就是class
    	print self.name			# 类中访问自己类的属性。
    	print "跑步"
    
        def say(self):
    	print self.__money
    
    if __name__ == '__main__':      # 这表示如果被别人调用的话,将不执行
    				# 被自己调用,执行
    
       zhangsan = Ren()  # 把Ren类实例化,变成张三
       zhangsan.name = "张三"
       print zhangsan._Ren__money		# 用这种方法来访问私有属性
    					# 这种方法一般在测试的时候采用,一般不用
       print "#"*30
       print Ren.__dict__			# 访问内置属性
       
    

      内置属性:

      

    #!/usr/bin/python
    #coding:utf8
    class Ren:
        name = "人"
        hight = "一人高"
        wight = "一人重"
        __money = "我有10块钱"		# 私有属性
        
        def run(self):			# 类的方法定义,必须有一个行参
    				#有人吧self,写成cls 就是class
    	print self.name			# 类中访问自己类的属性。
    	print "跑步"
    
        def say(self):
    	print self.__money
    
    if __name__ == '__main__':      # 这表示如果被别人调用的话,将不执行
    				# 被自己调用,执行
    
       zhangsan = Ren()  # 把Ren类实例化,变成张三
       zhangsan.name = "张三"
       print zhangsan._Ren__money		# 用这种方法来访问内置属性
       print "#"*30
       print Ren.__dict__			# 访问内置属性
       
    

      

  • 相关阅读:
    iPhone开发教程之retain/copy/assign/setter/getter
    关于block使用的5点注意事项
    Block的引用循环问题 (ARC & non-ARC)
    浅谈iOS中MVVM的架构设计与团队协作
    JS学习笔记(不断更新)
    神经网络介绍
    JAVA WEB WITH IDEA
    百度地图标注多个点
    脑筋急转弯——Google 面试
    决策树分类器
  • 原文地址:https://www.cnblogs.com/spaceship9/p/2964096.html
Copyright © 2011-2022 走看看