python3 面向对象补充
f = People('egon',18,'male')
非函数
hasattr # hasattr(f,'name')
getattr # getattr(f,'name')
setattr # setattr(f,'name','EGON')
class Teacher:
school = 'oldboy'
def __init__(self,name,age):
self.name = name
self.age = age def teach(self):
print(self.name) # print(hasattr(Teacher,'school'))
# print(getattr(Teacher,'school'))
# print(getattr(Teacher,'asdfadsf','没有这个'))
# setattr(Teacher,'school','欧德博爱')
# print(Teacher.school)
# delattr(Teacher,'school')
# print(Teacher.__dict__) t = Teacher('egon',18) # print(hasattr(t,'name'))
# print(getattr(t,'name'))
# setattr(t,'name','EGON')
# print(getattr(t,'name'))
#
# print(t.__dict__)
# delattr(t,'name')
# print(t.__dict__) # print(getattr(t,'teach'))
# print(getattr(t,'school'))
# print(t.school)
# t.school = 'hahhahahahha'
# print(getattr(Teacher,'school'))
# print(getattr(t,'school'))
# print(t.__dict__)
item系列
__getitem__ # f['name']
__setitem__ # f['name'] = 'EGON'
__delitem__ # del f['name']
__len__ # len(f)
class Foo:
def __init__(self,name,age,sex):
self.name=name
self.age=age
self.sex=sex
def __getitem__(self, item):
# print(self,item,type(item))
# return getattr(self,item)
return self.__dict__[item]
def __setitem__(self, key, value):
# setattr(self,key,value)
self.__dict__[key]=value def __delitem__(self, key):
# delattr(self,key)
self.__dict__.pop(key) def __len__(self):
return 10
f=Foo('egon',18,'male')
# print(f.name) #f['name']
# print(f.age) #f['age']
# print(f.sex) #f['sex'] # print(f['name']) # f['name']='egon_nb'
# print(f.__dict__)
# del f['name']
# print(f.__dict__) print(len(f))
f = People
__str__ # print(f) # f.__str__()
class Teacher:
def __init__(self,name,age):
self.name=name
self.age=age
self.courses=[] def teach(self):
print('%s teach' %self.name) def __str__(self):
return '<name:%s age:%s>' %(self.name,self.age) class Course:
def __init__(self,name,price,period):
self.name=name
self.price=price
self.period=period
def __str__(self):
return '《name:%s price:%s period:%s》' %(self.name,self.price,self.period) # egon=Teacher('egon',18)
# print(egon) #egon.__str__()
# print(egon) #egon.__str__()
__del__ # del f # f.__del__()
import time
class Foo:
def __init__(self,x):
self.x=x
print('connect mysql') #conn=abcdef('192.168.1.10',3306) def __del__(self):
'''做一些与这个对象有关的清理操作'''
# conn.close()
# file.close()
print('====>')
f=Foo(10)
del f #f.__del__()
time.sleep(3)
print('主程序')
python3 面向对象补充的更多相关文章
- Pthon面向对象-补充知识
Pthon面向对象-补充知识 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.tracemalloc 标准库tracemalloc,可以统计内存使用情况,通过下面的案例可以看出内 ...
- python022 Python3 面向对象
Python3 面向对象 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. 如果你以前没有接触 ...
- python(25)- 面向对象补充Ⅰ
一.如何使用类 1.实例化:创建对象 类名加括号就是实例化,会自动触发__init__函数的运行,可以用它来为每个实例定制自己的特征. 例子一 x=int(10) print(x) python中一切 ...
- Python3 面向对象之:单继承
一:什么面向对象的继承? 比较官方的说法就是: 继承(英语:inheritance)是面向对象软件技术当中的一个概念.如果一个类别A“继承自”另一个类别B,就把这个A称为“B的子类别”,而把B称为“A ...
- Python3面向对象基础
面向对象概述 面向对象 面向对象的世界,引入了对象的概念,对象具有属性:数据,对象具有过程或者方法:成员函数.成员函数的作用就是处理属性. 例子 对象:Car 属性:fuel_level, isSed ...
- python3面向对象注意事项
一.面向对象super的作用: class parent(object): def __init__(self): self.test() def test(self): print('parent- ...
- Python3 面向对象编程
小案例: #!/usr/bin/env python # _*_ coding:utf-8 _*_ # Author:Bert import sys class Role(object): n=&qu ...
- Python 面向对象-------补充
Python 面向对象 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. 如果你以前没有接触过 ...
- Python3 面向对象(1)
面向.概述 面向过程: 根据业务逻辑从上到下写垒代码面向过程的设计的核心是过程,过程即解决问题的步骤, 面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西 优点: 极大降低了程序的 ...
随机推荐
- Sqlite Datetime类型详解
日期和时间函数 date(timestring, modifier, modifier, ...) time(timestring, modifier, modifier, ...) datetime ...
- python 基础篇 11 函数进阶----装饰器
11. 前⽅⾼能-装饰器初识本节主要内容:1. 函数名的运⽤, 第⼀类对象2. 闭包3. 装饰器初识 一:函数名的运用: 函数名是一个变量,但他是一个特殊变量,加上括号可以执行函数. ⼆. 闭包什么是 ...
- C# 删除文件错误 access denied
使用以下代码正常删除整个文件夹内容时,报错如下: if (backupPathDir.Exists) { System.IO.DirectoryInfo di = new DirectoryInfo( ...
- python 动态函数调用及可变参数传入
定义类及方法 class ParameterFactory(object): ..... def fullLinkTag(self, fromDate, toDate, status, cate='全 ...
- [leetcode-635-Design Log Storage System]
You are given several logs that each log contains a unique id and timestamp. Timestamp is a string t ...
- c# log
public static void WriteMsg(string logName, string msg) { try { //string path = Path.Combine(". ...
- java课堂第7次笔记
- 【Linux】——搭建redis
1.准备安装文件 redis-3.0.5.tar.gz redis-desktop-manager(可视化管理工具) 2.解压.编译 软件存放目录:/usr/local/software 解压存放路径 ...
- hdu 1787 GCD Again (欧拉函数)
GCD Again Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
- (转载)Hadoop示例程序WordCount详解
最近在学习云计算,研究Haddop框架,费了一整天时间将Hadoop在Linux下完全运行起来,看到官方的map-reduce的demo程序WordCount,仔细研究了一下,算做入门了. 其实Wor ...