python基础知识08-类定义、属性、初始化和析构
1.类的定义
class 类 是独立存放变量(属性/方法)的一个空间.
每个实例都是一个独立的变量空间.不同实例之间的空间互相不可见.
一个实例的特征,就是属性.
定义在类中的私有属性也可以被子类继承.
变量在类中称为属性,但是类中的属性不仅仅只包含变量,函数等其他的对象也可以作为类的属性.
类可以把各种对象组织在一起, 作为类的属性,通过.(点)运算符来调用类中封装好的对象.
class Fruit: 类名一般首字母大写,函数名一般首字母小写
name = 'Apple' 属性
d = '这么大'
a = Fruit() 类的实例化
Fruit() 类的调用
print(a.name,a.d) 'Apple' '这么大' 实例调用属性
print(Fruit.name) 'Apple' 类名调用属性
2.定义属性
定义属性:
Fruit.color = '黑色的' 在类外面定义属性.
print(Fruit.color) 可以访问
print(b.color) 也可以打印出.
第三种 定义属性
c = Fruit()
c.du = '有毒' 定义在创建的实例里面.
print(c.du) '有毒'
私有属性 定义一个私有属性
_xxx = 123 aaa 一个或两个下划线 _
一个下划线的时候不能看到,但可以访问.
两个下划线的时候看不到,不能访问
查找属性的方法 先查找实例的属性,如果没有查找类的属性.
3.类的方法
类里面定义一个特殊的函数就叫做方法
class Person:
name = 'ren'
def eat(self,a,b): #self 是自身的一个实例.传其他参数直接逗号加参数
print('吃鸡腿')
self.sleep() #通过self与类里面的方法建立一个联系
wum = Person()
print(wum.name)
wu.eat()
Person.eat(wum) #类名调用方法,需要传一个实例
4.类的初始化和析构
初始化
class Person:
def init(self,name,age,sex):
self.name = name
self.age = age
self.sex = sex
wum = Person() 实例化的时候自动调用init()魔术方法.即实例化产生一个类的实例,Python自动调用实例.init(参数),转换为类.init(实例,参数)
析构
代码执行完后,默认执行析构方法.
def del(self):
print('销毁了')
魔术方法
在没有一个变量指向某个对象的时候,Python会自动销毁这个对象,以便收回内存空间.del关键字,可以删除一个变量的指向.
python基础知识08-类定义、属性、初始化和析构的更多相关文章
- Python基础:新式类的属性访问
一.概述 二.准备工作 1.讨论对象 2.名词解释 三.实例绑定的属性访问 1.获取属性 一般规则 参考源码 示例验证 2.设置属性 一般规则 参考源码 示例验证 3.删除属性 一般规则 参考源码 示 ...
- Python基础知识:类
初级篇 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发“更快更好更强...” 1.面向对象三大特性 ...
- Python基础知识详解 从入门到精通(七)类与对象
本篇主要是介绍python,内容可先看目录其他基础知识详解,欢迎查看本人的其他文章Python基础知识详解 从入门到精通(一)介绍Python基础知识详解 从入门到精通(二)基础Python基础知识详 ...
- python基础知识小结-运维笔记
接触python已有一段时间了,下面针对python基础知识的使用做一完整梳理:1)避免‘\n’等特殊字符的两种方式: a)利用转义字符‘\’ b)利用原始字符‘r’ print r'c:\now' ...
- python基础——使用元类
python基础——使用元类 type() 动态语言和静态语言最大的不同,就是函数和类的定义,不是编译时定义的,而是运行时动态创建的. 比方说我们要定义一个Hello的class,就写一个hello. ...
- python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。
本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding: ...
- python 基础知识(一)
python 基础知识(一) 一.python发展介绍 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本 ...
- Python开发【第二篇】:Python基础知识
Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...
- python基础知识讲解——@classmethod和@staticmethod的作用
python基础知识讲解——@classmethod和@staticmethod的作用 在类的成员函数中,可以添加@classmethod和@staticmethod修饰符,这两者有一定的差异,简单来 ...
- python 爬虫与数据可视化--python基础知识
摘要:偶然机会接触到python语音,感觉语法简单.功能强大,刚好朋友分享了一个网课<python 爬虫与数据可视化>,于是在工作与闲暇时间学习起来,并做如下课程笔记整理,整体大概分为4个 ...
随机推荐
- C# BitmapData使用说明
C# BitmapData使用说明msdn关于BitmapData原文解释地址:http://msdn.microsoft.com/zh-cn/library/5ey6h79d(v=vs.110).a ...
- iOS 获取类的字符串名称 Swift4
以下实例基于Swift4,且在class, struct, enum中都可用: class Foo { // 实例属性中指定明确的类名来获取名称 var typeName: String { ...
- 跟我一起玩Win32开发(12):使用控件——单选按钮
今天,咱们还是接着玩“控件斗地主”,这是我原创的超级游戏,有益身心健康,玩一朝,十年少. 哦,对,脑细胞极速运动了一下,想起了一个问题,这个破问题虽然网上有很多种解决方案,但是,并没有让所有人都解决问 ...
- 解决error while loading shared libraries
ldd print shared library dependencies.可以查看哪些库没有找到. 这个进程启动失败,使用ldd命令可以发现是因为memcache库没有发现.把该so文件放入/lib ...
- HDFS Java API
HDFS Java API 搭建Hadoop客户端与Java访问HDFS集群
- Datapatch AND What to do if the status of a datapatch action was not SUCCESS due to finding non-ignorable errors
1. Enterprise Manager: Starting version 12.1 Enterprise Manager now calls datapatch to complete post ...
- (转)Unity优化之减少Drawcall
转载:http://www.jianshu.com/p/061e67308e5f Unity GUI(uGUI)使用心得与性能总结 背景和目的 小哈接触Unity3D也有一段时间了,项目组在UI解决方 ...
- R语言中的并行处理
网上有人说foreach包可以并行,我就去弄了,结果发现一个普通的二重循环什么事都不错都很卡!捣鼓了半天才发现是foreach的问题 为了提速,做了如下事宜: 直接利用矩阵列加减,不是一个个遍历加 把 ...
- XSS漏洞解析(二)
上篇我们讲了XSS的一些相关的内容,这篇我们就直接上代码demo解决实际问题吧. 主要的问题是xssfilter的编写,我们直接去网上找一下框架,一般有js,php,java等语言都有相关的XSS的相 ...
- 为localhost添加https
1.按照https://stackoverflow.com/a/7184031/4619958来做 其中,CommonName填写localhost 2.在ssl.conf里头加上 <Direc ...