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

    class 类名:

    ​ 特征

    ​ 技能

    定义类名的规范:驼峰命名法

    #定义老男孩学生类
    class OldboyStudent: #类名指向的是类的内存地址
        #学生相同的特征,也称为属性
        school = 'oldboy'
        
        #学生相同的技能
        #注意:在类内部定义函数,会默认有一个参数self
        def learn(self): #self此时当作一个形参
            print('learning...')
            
    print(OldboyStudent)  ## <class '__main__.OldboyStudent'>
    #查看类的名称空间
    print(OldboyStudent.__dict__)
    print(OldboyStudent.__dict__['school'])
    print(OldboyStudent.__dict__['learn'])
    OldboyStudent.__dict__['learn'](123)
    #类提供一种获取名字的特殊方式“类名.名字”
    #查
    print(OldboyStudent.school) #--->oldboy
    OldboyStudent.learn('形参') #--->learning...
    #改
    OldStudent.school = 'oldgirl'
    print(OldStudent.shool) #--->oldgirl
    #删
    del OldStudent.school
    #增
    OldStudent.old_student = 'lzn'
    print(OldboyStudent.old_student) #--->lzn
    
    

    关于名称空间:

    ​ 函数的名称空间:在函数调用时产生,函数调用结束后销毁

    ​ 类的名称空间:在定义阶段时产生,会将类中所有名字都扔进类的名称空间中

    对象

    对象的产生:

    ​ -调用类产生对象

    ​ 类名+()调用类产生对象

    ​ 类的名称空间在定义时产生,对象的名称空间在调用类时产生

    ​ 调用类产生对象的过程称之为类的实例化,对象称之为类的一个实例

    由对象来调用类内部的函数,称之为对象的绑定方法

    ​ 特殊之处在于:会将对象当作第一个参数传入***,若对象的绑定方法中还有其他参数,会一并传入。

    class Student:
        #学校
        school = 'oldboy'
        
        def __init__(self,name,sex,age):
            print(self.__dict__)#查看当前对象的名称空间
            #给对象添加新的属性
            self.name = name
            self.sex = sex
            self.age = age
            
    	def learn(self):
            print(self)
            print('learning...')
            
    #*****想要在调用类时,为对象传入对象独有的特征
    #*****__init__(self,name,sex,age)
    #调用类时会将对象当做第一个参数,与括号内所有的参数一并传给__init__()
    stu1 = Student('lzn','male','18')
    print(stu1.name,stu1.age,stu1.sex)
    #>>>lzn 18 male
    
    #注意:凡是在类内部定义的.__开头或者__结尾的方法都有特殊意义。
    
  • 相关阅读:
    docker基础命令
    oracle 控制文件损坏处理
    mongodb 分片技术
    replcation set (复制集)配置过程 --mongodb
    redis API ---python
    MHA 高可用架构部署
    innoback 参数及使用说明
    Windows服务创建及发布
    DevOps 什么是 CI/CD?
    .NETReflectorVisualStudioExtension
  • 原文地址:https://www.cnblogs.com/littleb/p/12050904.html
Copyright © 2011-2022 走看看