• Day 22 面向对象知识.


    https://www.cnblogs.com/bigberg/p/7252349.html  #类方法,静态方法, 属性方法。

    类有两种作用:属性引用 和实例化.
    属性引用(类名.属性)
    class person()
      role=“perosn” 人的角色属性都是人
      def walk(self):
        print ("person is walking")
    print (Person.role) #查看人的role属性
    print (person.walk) #引用人的走路方法,注意这里不是在调用.

    实例化: 类名加 括号就是实例化,会自动触发__init__函数.的运行
    可以用他来为每个实例指定自己的特征.
    class Person:
        role ='person' #人的角色属性都是人
        def __init__(self,name ):
            self.name =name 
        def walk(self):
            print("person is walking")
    print(Person.role)# 查看人的role属性 
    print(Person.walk)#引用人的走路方法,注意这里不是在调用.   打印结果<function Person.walk at 0x028CEA08>
    print(person.__dirt__)类的字典属性:
    {'__module__': '__main__', 'role': 'person', '__init__': <function Person.__init__ at 0x0021D6A8>,
    'walk': <function Person.walk at 0x007EEA08>, '__dict__': <attribute '__dict__' of 'Person' objects>,
    '__weakref__': <attribute '__weakref__' of 'Person' objects>, '__doc__': None}
    对象的作用:属性的引用
    一:我们定义的类的属性到底存到哪里了?有两种方式查看
    dir(类名):查出的是一个名字列表
    类名.__dict__:查出的是一个字典,key为属性名,value为属性值
    
    二:特殊的类属性
    类名.__name__# 类的名字(字符串)
    类名.__doc__# 类的文档字符串
    类名.__base__# 类的第一个父类(在讲继承时会讲)
    类名.__bases__# 类所有父类构成的元组(在讲继承时会讲)
    类名.__dict__# 类的字典属性
    类名.__module__# 类定义所在的模块
    类名.__class__# 实例对应的类(仅新式类中)


    人打狗,狗咬人的题目


    class Person :
    role ='人' 静态方法
    def __init__(self,name,sex,aggr,hp):内置方法.
    self.name = name
    self.sex =sex
    self.aggr =aggr
    self.hp = hp
    def attack(self,dog): 自定义方法.
    print('%s 打了 %s'%(self.name,dog.name))
    dog.hp =dog.hp- self.aggr
    class Dog :
    def __init__(self,name,kind,aggr,hp):
    self.name =name
    self.kind =kind
    self.aggr =aggr
    self.hp = hp
    def bite (self,person):
    print('%s 咬了 %s'%(self.name,person.name))
    person.hp -=self.aggr
    hei =Dog('小黑','teddy',260,10000) #实例化过程.
    alex =Person('alex','female',1,250 )
    alex.attack(hei)#Person.attack(alex,hei)
    print(hei.hp) #
    hei.bite(alex)
    print(alex.hp)

    通过面向对象求圆的面积和周长


    from math import pi
    class Cirle :
    def __init__(self,r):
    self.r = r
    def area(self):
    return pi*self.r**2
    def zhouchang(self):
    return 2*pi*self.r

    c1 = Cirle(5)
    print(c1.r)
    print(c1.area())
    print(c1.zhouchang())
     答案:

    5
    78.53981633974483
    31.41592653589793

    
    
    圆周的问题.
    # from math import pi
    # class Cirle :
    # def __init__(self,r):
    # self.r = r
    # def area(self):
    # return pi*self.r**2
    # def zhouchang(self):
    # return 2*pi*self.r
    #
    # c1 = Cirle(5)
    # print(c1.r)
    # print(c1.area())
    # print(c1.zhouchang())


    爬山砍柴题目.


    class Person :
    def __init__(self,name,sex,age):
    self.name =name
    self.sex =sex
    self.age =age
    def clim(self):
    print('%s,%s,%s岁,去爬山'%(self.name,self.sex,self.age))
    def drive(self):
    print('%s,%s,%s岁,开车去东北'%(self.name,self.sex,self.age))
    def massage(self):
    print('%s,%s,%s岁,massage'%(self.name,self.sex,self.age))
    xiaoming = Person("小明",'男','10岁')
    xiaoming.drive()
    xiaoming.clim()
    xiaoming.massage()

    laozhang = Person('老张','男','90岁')
    laozhang.drive()
    laozhang.clim()
    laozhang.massage()

    laowang =Person('老王','男','70岁')
    laowang.drive()
    laowang.clim()
    laowang.massage()

    正方形的面积

    class squre:
        def __init__(self,line):
    self.line = line

    def mianji(self):
    return self.line**2

    obj=squre(6)
    print(obj.line)
    print(obj.mianji())
  • 相关阅读:
    SnappyHexMesh(之七)创建二维几何体
    SnappyHexMesh(之六)体加密
    SnappyHexMesh(之五)面加密
    SnappyHexMesh(之四)面贴合参数
    SnappyHexMesh(之三)全局参数
    SnappyHexMesh(之二)背景网格
    SnappyHexMesh(之一)算法详述
    【转】编译EDEM2018+Fluent19.0耦合接口
    【读MFiX源代码】2 读time march loop(dt_loop)(仍在mfix.f)
    【转】linux下每间隔一段时间执行一个脚本
  • 原文地址:https://www.cnblogs.com/mengbin0546/p/8510629.html
Copyright © 2020-2023  润新知