码迷,mamicode.com
首页 > 其他好文 > 详细

面向对象编程基础

时间:2019-09-19 21:54:27      阅读:73      评论:0      收藏:0      [点我收藏+]

标签:第一个   ddr   init   function   int   school   http   相同   style   

类的概念:

把一类事物的相同的特征和动作整合到一起就是类,类是一个抽象的概念

 属性:

数据属性(变量)

函数属性(函数)(在面向对象中叫作类)

#python为类内置的特殊属性
类名.__name__# 类的名字(字符串)
类名.__doc__# 类的文档字符串
类名.__base__# 类的第一个父类(在讲继承时会讲)
类名.__bases__# 类所有父类构成的元组(在讲继承时会讲)
类名.__dict__# 类的字典属性
类名.__module__# 类定义所在的模块
类名.__class__# 实例对应的类(仅新式类中)
class Chinese:
    eyes=big      #定义数据属性
    face=beautiful
    CH=chinese
    def movement():    #定义函数属性
        print(love to traval)
    def food(self):
        print(%s love to eatting %Chinese.CH)

print(Chinese.eyes)                #big
# print(Chinese.__dict__)          #查看属性字典
print(Chinese.__dict__[eyes])    #big
Chinese.movement()                 #love to traval
Chinese.__dict__[movement]()     #love to traval
Chinese.__dict__[food](1)        #chinese love to eatting

 

对象的概念:

就是基于类而创建的一个具体的事物(具体存在的),也就是特征和动作整合到一起

 

实例化:

由类生成对象的过程叫实例化,类实例化的结果就是对象

实例=对象

 

使用函数创建一个学校类:

特征:名字、地址、类型

动作:考试、招生、开除学生

#声明函数
def functionName(args):
    函数文档字符串
    函数体
#创建一个school的类
def school(name,addr,type):
    def init(name,addr,type):
        sch={
        name:name,
        addr:addr,
        type:type,
        kaixue:kaixue,
        kaoshi:kaoshi
        }
        return sch
    def kaixue(school):
        print(%s 学校已开学 % school[name])

    def kaoshi(school):
        print(这是一所%s,%s学校的学生在考试%(school[type],school[name]))
    return  init(name,addr,type)

#通过类生成具体的对象
s1=school(深圳第一中学,深圳市福田区,公立学校)
s2=school(宝安第一中学,深圳市宝安区,私立学校)

print(s1)
#{‘addr‘: ‘深圳市福田区‘, ‘kaoshi‘: <function school.<locals>.kaoshi at 0x0000024A6E2D4158>,
#  ‘type‘: ‘公立学校‘, ‘kaixue‘: <function school.<locals>.kaixue at 0x0000024A6E2D40D0>, ‘name‘: ‘深圳第一中学‘}
print(s2)
#{‘addr‘: ‘深圳市宝安区‘, ‘kaoshi‘: <function school.<locals>.kaoshi at 0x0000024A6E2D4268>,
# ‘type‘: ‘私立学校‘, ‘kaixue‘: <function school.<locals>.kaixue at 0x0000024A6E2D41E0>, ‘name‘: ‘宝安第一中学‘}

s1[kaoshi](s1)    #这是一所公立学校,深圳第一中学学校的学生在考试
s2[kaixue](s2)    #宝安第一中学 学校已开学

 

使用面向对象编程独有的语法class去实现面向对象设计

class 类名:
       类的文档字符串
       类体
#使用面向对象编程独有的语法class去实现面向对象设计创建一个school的类
class school:
    def __init__(self,name,addr,type):
        self.name=name
        self.addr=addr
        self.type=type

    def kaixue(self):
        print(%s 学校已开学 % self.name)

    def kaoshi(self):
        print(这是一所%s,%s学校的学生在考试%(self.type,self.name))


#通过类生成具体的对象
s1=school(深圳第一中学,深圳市福田区,公立学校)
s2=school(宝安第一中学,深圳市宝安区,私立学校)

print(s1.__dict__)
#{‘type‘: ‘公立学校‘, ‘addr‘: ‘深圳市福田区‘, ‘name‘: ‘深圳第一中学‘}
print(s2.__dict__)
#{‘type‘: ‘私立学校‘, ‘addr‘: ‘深圳市宝安区‘, ‘name‘: ‘宝安第一中学‘}

s1.kaixue()
#深圳第一中学 学校已开学
s2.kaoshi()
#这是一所私立学校,宝安第一中学学校的学生在考试

 

学习材料来源:

https://www.cnblogs.com/linhaifeng/articles/6182264.html

面向对象编程基础

标签:第一个   ddr   init   function   int   school   http   相同   style   

原文地址:https://www.cnblogs.com/lijinping716/p/11551685.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!