ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python -- 面向对象(2)

2021-12-08 20:32:56  阅读:150  来源: 互联网

标签:__ name 面向对象 Python gender self -- print zhangsan


 

class Bar:
    def foo(self,arg):
        print(self.name,self.age,self.gender,arg)

z1 = Bar()
z1.name = 'Tom'
z1.age = 30
z1.gender = 'male'
z1.foo('why')

print('================================================')

z2 = Bar()
z2.name = 'Mary'
z2.age = 25
z2.gender = 'female'
z2.foo('why')

print('================================================')

class Person:
    def __init__(self,name,age,gender):    #__init__()叫做构造方法
        self.n=name    #n a g 分别对应参数 name age gender,方便后面使用时直接传参数,不用name1 = '张三' , name2 = '李四' 这么去写
        self.a=age
        self.g=gender
        self.nationality = 'Chinese'
        print('个人信息')

zhangsan = Person('张三',20,'男')    #这里没有通过zhangsan.__init__()方式调用类Person的构造方法__init__(),但在创建对象zhangsan时已经自动调用了__init__(),所以才会打印出'个人信息'
#print(zhangsan)
lisi = Person('李四',24,'男')
#print(lisi)
print(zhangsan.n,zhangsan.a,zhangsan.nationality)    #因为在__init__方法内已经定义过n a g 分别对应参数 name age gender,所以这里可以直接 对象名.n 对象名.a 对象名.g获取对应的值
print(lisi.n,zhangsan.g,lisi.nationality)

输出:

Tom 30 male why
================================================
Mary 25 female why
================================================
个人信息
个人信息
张三 20 Chinese
李四 男 Chinese

标签:__,name,面向对象,Python,gender,self,--,print,zhangsan
来源: https://www.cnblogs.com/csy113/p/15664133.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有