面向对象基础——对象的属性及其增删查改

1.对象的属性

对象的属性
class 类名:
def init(self):
self.属性名 = 初值
self.属性名2 = 初值2

class Person:
    # __init__方法是系统自带的一个方法,这个方法不可以字节调用。通过类创建对象的时候系统会自动调用这个方法
    # init方法的作用是对这个对象的属性进行初始化
    # 通过构造方法创建对象的时候,一定要保证。init方法中除了self以外,其他的每一个参数都必须有值
    def __init__(self, name1='', age1=0,sex1='男'):
        # 在这个地方声明对象的属性
        print('=====')
        print(name1)
        # 在init中声明对象的属性
        """
        name,age和sex就是Person这个类的对象属性,类的对象属性,需要通过对象来调用
        """
        self.name = name1
        self.age = age1
        self.sex = sex1



if __name__ == '__main__':
    # 注意:构造方法中的参数实质是传给init方法的参数的
    p1= Person('chenpeng',23)
    print(p1.name,p1.age,p1.sex)

    p2 = Person('骆老师',30)
    print(p2.name,p2.age,p2.sex)

    """通过不同的方式创建对象"""
    # 创建对象的时候不给属性赋值
    p3 = Person()

    p4 = Person('王海飞')

    p5 = Person(sex1='男')

    p6 = Person(age1=22)

2.对象属性的增删查改

class Dog:
    def __init__(self, age=0,color='dark'):
        self.age = age
        self.color = color

if __name__ == '__main__':

    dog1 = Dog(3,'red')

    # 1.查看属性
    """
    方法一: 对象.属性 (如果属性不存在会报错)
    方法二: 对象.__getattribute__('属性名')和getattr(对象,'属性名',默认值)
    """
    print(dog1.age, dog1.color)

    print(dog1.__getattribute__('age'))
    print(getattr(dog1,'age'))

    #如果设置了default的值,那么当属性不存在的时候不会报错,并且返回默认值
    print(getattr(dog1, 'age','无名狗'))


    # 2.修改属性的值
    """
    方法一:对象.属性 = 新值
    方法二:对象.__setattr__('属性名','新值')和setattr(dog1,'属性名','值')
    """
    dog1.age = 4
    print(dog1.age)

    dog1.__setattr__('color','black')
    print(dog1.color)

    setattr(dog1,'color','blue')
    print(dog1.color)

    # 3.增加属性
    """
    方法一:对象.属性 = 值(属性不存在)
           属性是添加给对象的,不是给类的
    方法二:对象.__setattr__('属性名','新值')和setattr(dog1,'属性名','值')
    """
    dog1.name = '大黄'
    print(dog1.name)

    dog1.__setattr__('type','哈士奇')
    print(dog1.type)

    setattr(dog1,'sex','boy')
    print(dog1.sex)

    # 4.删除对象属性
    """
    方法一:del 对象.属性
          删除属性也是删除对象的属性。不会影响其他这个类的其他对象的属性
    方法二:
    """
    # del dog1.age
    # print(dog1.age)  #  AttributeError: 'Dog' object has no attribute 'age'
    # dog1.__delattr__(dog1,'color')
    # print(dog1.color)

    # delattr(dog1,'age')
    # print(dog1.age)

练习:声明一个学生类,拥有属性:姓名,年龄,性别。方法:学习
1.声明学生类的对象,生命的时候就给姓名,性别和年龄赋值
2,。通过三种方法分别获取姓名,年龄和性别
3.给学生添加一个属性,电话
4.修改学生的年龄
5.删除学生的的性别

class Student():
    def __init__(self,name='chenpeng', age=18, sex='男'):
        self.name = name
        self.age = age
        self.sex = sex
    def xuexi(self):
        print('%s在学习'%self.name)

student1 = Student()
print(student1.name,student1.age,student1.sex)
print(student1.__getattribute__('name'))
print(getattr(student1,'name'))

student1.tel = '15117622847'

student1.age = 22

del student1.sex
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,110评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,443评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,474评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,881评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,902评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,698评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,418评论 3 419
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,332评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,796评论 1 316
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,968评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,110评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,792评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,455评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,003评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,130评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,348评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,047评论 2 355

推荐阅读更多精彩内容

  • 一、快捷键 ctr+b 执行ctr+/ 单行注释ctr+c ...
    o_8319阅读 5,823评论 2 16
  • 1/579文件IO文件介绍I/O流流的概念读写文件文件备份IO介绍大家应该听说过一句话:“好记性不如烂笔头”。不仅...
    清清子衿木子水心阅读 1,434评论 0 1
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 10,988评论 6 13
  • 2 没课的时候,我就挂在健身房的器械上,一副懒洋洋的模样,不想动。 阿赛过来在椭圆机上开始了他的自虐之旅,“兄弟,...
    樊雯婷阅读 153评论 0 2
  • 2016年10月9号 照利计算天数 距离结束这段时间大概还有15天 距离回去还有18天 嗯 加油
    钱婆婆有糖吃阅读 204评论 0 0