zoukankan      html  css  js  c++  java
  • (21)类

    * 创建类
        #!/usr/bin/env python
        # -*- coding: utf-8 -*-

        class Person:
            def __init__(self,name,sex):
                self.name=name
                self.sex=sex

        info = Person("John","male")
        print "info.name=",info.name
        print "info.sex=",info.sex
       
        用一个class关键词,后面跟一个类名
        def __init__(self)  是构造方法
       
    * self
          在构造函数中的第一个参数self, 就是起到了这个作用——接收实例化过程中传入的所有数据
        self应该就是一个实例( 准确说法是应用实例) , 因为它所对应的就是具体数据
        很像其它语言中的this
       
    * 子类
        #!/usr/bin/env python
        # -*- coding: utf-8 -*-

        class Person:
            def __init__(self, name, lang, email):
                self.name = name
                self.lang = lang
                self.email = email
            def author(self):
                return self.name

        class Programmer(Person): #继承父类Person
            def __init__(self, name, lang, email, system, website):
                Person.__init__(self,name,lang,email) #将Person.__init__()的功能继承到这里
                self.system = system #子类中不同于Person父类部分
                self.website = website

            def pythoner(self):
                pythoner_list = [ self.name, self.lang, self.email, self.system, self.website ]
                return pythoner_list

        if __name__=="__main__":
            writer = Person("qiwsir","Chinese","qiwsir@gmail.com")
            python = Programmer("qiwsir","Python","qiwsir@gmail.com","Ubutun","qiwsir.github.io")
            print "My name is:%s"%writer.author()
            print "I write program by:%s"%python.pythoner()[1]

    * 命名空间
       import os 
       os 就是命名空间
      
    * 私有方法
        不能从它们的模块外面被调用
        私有类不能从它们的类外面调用
        私有属性不能从它们的类外面调用
       
        类方法,属性名以两个下划线开始(但不是结束),它是私有的
       
        #!/usr/bin/env python
        # -*- coding: utf-8 -*-

        class Person:
            def __init__(self,name):
                self.name = name
                print self.name

            def __work(self,salary):
                print "%s salary is: %d"%(self.name,salary)

            def worker(self):
                self.__work(500) #在类内部调用私有方法

        if __name__=="__main__":
            officer = Person("Tom")
            officer.worker()
           
    * 专有方法
       以双划线开头,又以双划线结尾       

  • 相关阅读:
    docker安装
    linux磁盘空间挂载
    python之MD5加密
    python之pymysql
    python 之Redis笔记
    python 随机生成中文名字
    python之json笔记
    python时间模块笔记
    python 用pip安装pymysql(win7下)
    数据库操作番外篇~
  • 原文地址:https://www.cnblogs.com/toby2chen/p/5239567.html
Copyright © 2011-2022 走看看