zoukankan      html  css  js  c++  java
  • python学习日记第三天

    '''面向对象
    一 .类与对象
    1.对象的概念:对象==解决问题的事物
    2.类:对一些有相同特征和行为的事物的总称
    3.类与对象的关系:类用于描述多个对象的共同特征,它是对象的模板
    4.建立一个类:
    类=类名+属性+方法;
    class 类名:
    类的属性
    类的方法
    5.建立对象:
    对象名=类名()
    6.给对象添加新属性
    对象名.属性=
    7.访问属性和方法
    对象.属性或方法
    二 .构造方法和析构方法
    1.两个特殊的方法__init__()初始化对象的属性,__del__()释放类所占用的资源,如果有但未调用会在程序结束后自动调用
    2.构造方法:
    (1)
    (2)
    3.析构方法:
    (1)
    三 .self的使用
    ` 1.在方法定义中,第一个参数永远是self.
    2.使用(1)
    四 .运算符重载
    1.加法重载
    2.索引和切片
    3.对象转化字符串
    '''
    # class Cat:
    # #属性
    # #方法
    # def eat(self):
    # print("吃鱼")
    # #建立对象
    # cat=Cat()
    # cat.color="黑色"
    # cat.eat()
    # print(cat.color)
    #(2.1)
    # class Car():
    # def __init__(self):
    # self.color="黑色"
    # def toot(self):
    # print("%s的车在鸣笛"%self.color)
    # car=Car()
    # car.toot()
    #(2.2)
    # class Car():
    # def __init__(self,color):
    # self.color=color
    # def toot(self):
    # print("%s的车在鸣笛"%self.color)
    # car=Car("红色")
    # car_1=Car("雪白色")
    # car.toot()
    # car_1.toot()
    #(3.1)
    # class Person:
    # def __init__(self,name,age,MW):
    # self.name=name
    # self.age=age
    # self.MW=MW
    # def me(self):
    # print("%s今年%d岁"%(self.name,self.age))
    # def __del__(self):
    # print("---------def--------")
    # person = Person("幻幽",18,"男")
    # person.me()
    # # del person
    # print("---------1---------")
    # class Dog:
    # def __init__(self,color):
    # self.color=color
    # def print_color(self):
    # print("颜色为%s"%self.color)
    # dog_white=Dog("白色")
    # dog_white.print_color()
    # dog_black=Dog("黑色")
    # dog_black.print_color()
    #加法
    # class Demo:
    # def __init__(self,obj):
    # self.data=obj[:]
    # def __add__(self, obj):
    # x=len(self.data)
    # y=len(obj.data)
    # max=x if x>y else y
    # number_list=[]
    # for n in range(max):
    # number_list.append(self.data[n]+obj.data[n])
    # return Demo(number_list[:])
    # demo_one=Demo([1,2,3])
    # demo_twe=Demo([4,5,6])
    # demo_sum=demo_one+demo_twe
    # print(demo_sum.data)
    #索引与分片
    # class Demo:
    # #定义构造方法
    # def __init__(self,obj):
    # self.data=obj[:]
    # #定义索引分片运算符
    # def __getitem__(self, item):
    # return self.data[item]
    # demo=Demo([1,2,3,4])
    # print(demo[1])
    # print(demo[:])
    # print(demo[:2])
    # for number in demo:
    # print(number)
    #修改对象序列
    # class Demo:
    # def __init__(self,obj):
    # self.data=obj[:]
    # def __setitem__(self, key, value):
    # self.data[key]=value
    # demo=Demo([1,2,3,4,5])
    # print(demo.data)
    # demo[0]='abc'
    # print(demo.data)
    # demo[1:3]=['a','b','c']
    # print(demo.data)
    #删除元素
    class Demo:
    def __init__(self,obj):
    self.data=obj[:]
    def __delitem__(self, key):
    del self.data[key]
    demo=Demo([1,2,3,4,5])
    print(demo.data)
    del demo[0]
    print(demo.data)
    del demo[1:3]
    print(demo.data)

    #定制对象的字符串形式
    # class Demo:
    # data_one=100
    # #定义为属性data_two赋值的方法
    # def set(self,number):
    # self.data_two=number
    # #重载方法
    # def __repr__(self):
    # return 'repr转化:data_one=%s;data_two=%s'%(self.data_one,self.data_two)
    # def __str__(self):
    # return 'str转化:data_one=%s;data_two=%s'%(self.data_one,self.data_two)
    # #创建实例
    # demo=Demo()
    # #调用方法给属性赋值
    # demo.set('abc')
    # print(repr(demo))
    # print(str(demo))
    # print(demo)
  • 相关阅读:
    OC中Foundation框架之NSDictionary、NSMutableDictionary
    【03_136】Single Number
    【算法】QuickSort
    【02_258】Add Digits
    【01_292】Nim Game
    做题过程中得到的注意点
    No.02——第一次使用Android Studio,并创建出Hello World
    No.01——配置编程环境
    一个好用的代码分享网站
    【数据结构】某些难理解点
  • 原文地址:https://www.cnblogs.com/hz-garden/p/12807043.html
Copyright © 2011-2022 走看看