ICode9

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

python学习第三天

2020-04-30 10:00:55  阅读:237  来源: 互联网

标签:__ python demo self 第三天 学习 print data def


'''面向对象
一 .类与对象
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)

标签:__,python,demo,self,第三天,学习,print,data,def
来源: https://www.cnblogs.com/hz-garden/p/12807043.html

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

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

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

ICode9版权所有