最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • python怎么创建新对象

    正文概述    2020-08-12   210

    python怎么创建新对象

    面向对象中两个重要的概念:

    1.类   :对一类事物的描述,是抽象的、概念上的定义。比如做石膏像的模型
    2.对象:实际存在的该类事物的每个个体,因而也称实例(instance)。比如石膏像
    二者的关系:对象是由类派生的、创建的。一个类可以创建无穷多个对象,每个对象都属于类。

     1.创建类和创建类对象

    1.创建类,类主要由类名,属性,方法组成,当然创建一个类时,属性和方法可以选择的。
    class Person:
        def cry(self):  #类方法:跟函数的定义类似,但是self参数自带的,这也是类的方法和普通方法的区别。
            print("I can cry")
        def speak(self):
            print("I can speak:%s"%(self.word))
     
    ---------创建对象-----------------------------------------------------------------------
    tom =Person()  #创建对象,直接类名(),不用像java中还要new,所以python更加简洁
    tom.cry()     #调用对象的方法
    tom.word="hahah"
    tom.speak()
    tom.age =18  #给对象添加属性 ,属性不用在类定义时声明,但这种方法给对象赋值麻烦,每个对象都要赋值。
    tom.age =19  #上面已经给tom添加过age属性,再次属于调用,重新赋值。
     
    ----------执行结果-------------------------------------------------------------------------
    '''
    I can cry
    I can speak:hahah
    '''
     
    2.给类初始化属性,在对象创建时就给对象设定了一些默认值。这样不用给每个对象都添加属性了,比如每个Person都是china,sex都是
    male.
     _init_(self)该类的方法有点类似java中类的构造器,可以给类的对象赋初始值。
    ------------------------------------------------------------------------------------------
    class Person1:
        def __init__(self):  #_init_(self),主要给类初始化一些属性,对象创建时自动调用该方法执行
            self.country ="china"
            self.sex = "male"
     
        def speak(self):
            print("I am  from %s  ,wuwuwuwuu"%self.country)
    -------------创建对象----------------------------------------------------------------------
    jack = Person1()
    jack.speak()
    print(jack.country,jack.sex)
     
    tom=Person1()
    tom.speak()
    print(tom.country,tom.sex)
    --------------执行结果如下:----------------------------------------------------------------
    '''
    I am  from china  ,wuwuwuwuu
    china male
    I am  from china  ,wuwuwuwuu
    china male
    '''
     
    3.属性虽然初始化了,但是固定死的,而实际每个对象的属性就不同。
      所以通过初始化时调用参数的形式,给每个对象赋不同的属性值
     
    class Person2:
        def __init__(self,name,age): 
            self.age =age   #这种用法类似java中的this.age=age.self意思可以理解为当前对象
            self.name = name #表示将当前对象传进来的参数name的值赋给当前对象的属性name
            self.country = "china" #还是可以给类的每个对象都赋一个默认值。
     
        def speak(self):
            print("name=%s,age=%d"%(self.name,self.age))
    -----------创建对象------------------------------------------------------------------------
    p1 = Person2("allen",19)
    p2 = Person2("sherry",22)
    p3 = p2  #让p3=p2.对象的赋值
     
    p1.speak()
    p2.speak()
     
    print("p1:",p1)  #直接打印对象 ,打印的是对象在内存中地址。
    print("p2:",p2)
    print("p3:",p3) #发现p3的地址跟p2的地址一样。
     
    '''执行结果如下:
    name=allen,age=19
    name=sherry,age=22
    p1: <__main__.Person2 object at 0x000001CBA3508BE0>
    p2: <__main__.Person2 object at 0x000001CBA3508CF8>
    p3: <__main__.Person2 object at 0x000001CBA3508CF8>
    '''

    更多学习内容,请点击Python学习网。


    起源地下载网 » python怎么创建新对象

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元