• 类和面向对象


     1 def dog(name,age):
     2     def chishi(dog1):
     3         print('一条[%s]正在吃屎' % dog['name'])
     4     def init(name,age):
     5         dog1={
     6 
     7             'name':name,
     8             'age':age,
     9             'chishi':chishi
    10         }
    11         return dog1
    12     return init(name,age)
    13 dog=dog('李磊',18)
    14 print(dog['age'])
    15 print(dog['chishi'](dog))
    16 
    17 #---------------------------------面向对象class----------------------------------
    18 class Dogs:
    19     def __init__(self,name, age):
    20             self.name= name,
    21             self.age=age
    22     def chishi(self):
    23         print('一条[%s]正在吃屎' % self.name)
    24 
    25 dog2=Dogs('李磊',18)
    26 dog2.chishi()

     类:

     1 class Chinese:
     2     '这是一个中国人的类'
     3 
     4     dang=''
     5 
     6     # def __init__(name,age,gender):
     7     #     dic={
     8     #         'name':name,
     9     #         'age':age,
    10     #         'gender':gender
    11     #     }
    12     #     return dic
    13     def __init__(self,name,age,gender):
    14         # print('我是初始化函数,我开始运行了')
    15         self.mingzi=name  #p1.mingzi=name
    16         self.nianji=age   #p1.nianji=age
    17         self.xingbie=gender
    18         # print('我结束啦')
    19 
    20     def sui_di_tu_tan(self):
    21         print('%s 朝着墙上就是一口痰' %self.mingzi)
    22     def cha_dui(self):
    23         print(self)
    24         print('%s 插到了前面' %self.mingzi)
    25 
    26     def eat_food(self,food):
    27         print('%s 正在吃%s' %(self.mingzi,food))
    28 
    29 p1=Chinese('元昊',18,'female') #--->__init__(self,name,age,gender)
    30 p1.sui_di_tu_tan()
    31 p1.eat_food('')

    注:实例对象在调用方法时候会默认传入self,类调用方法的时候不会默认传入self

    类的init方法初始化实例的时候 只会初始化init方法内的数据属性不会初始化方法,如果实例要调用方法,现在实例里面找,找不到再导类中去找;

    类的增删改

     1 class Chinese:
     2     country='China'
     3     def __init__(self,name):
     4         self.name=name
     5 
     6     def play_ball(self,ball):
     7         print('%s 正在打 %s' %(self.name,ball))
     8 p1=Chinese('alex')
     9 print(p1.__dict__)
    10 
    11 #查看
    12 # print(p1.name)
    13 # print(p1.play_ball)
    14 
    15 #增加
    16 p1.age=18
    17 print(p1.__dict__)
    18 print(p1.age)
    19 
    20 #不要修改底层的属性字典
    21 # p1.__dict__['sex']='male'
    22 # print(p1.__dict__)
    23 # print(p1.sex)
    24 
    25 #修改
    26 p1.age=19
    27 print(p1.__dict__)
    28 print(p1.age)
    29 
    30 #删除
    31 del p1.age
    32 print(p1.__dict__)
  • 相关阅读:
    教程:在 Visual Studio 中开始使用 Flask Web 框架
    教程:Visual Studio 中的 Django Web 框架入门
    vs2017下发现解决python运行出现‘No module named "XXX""的解决办法
    《sqlite权威指南》读书笔记 (一)
    SQL Server手工插入标识列
    hdu 3729 I'm Telling the Truth 二分图匹配
    HDU 3065 AC自动机 裸题
    hdu 3720 Arranging Your Team 枚举
    virtualbox 虚拟3台虚拟机搭建hadoop集群
    sqlserver 数据行统计,秒查语句
  • 原文地址:https://www.cnblogs.com/jiawen010/p/9947642.html
Copyright © 2020-2023  润新知