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个 ...
随机推荐
- android 带checkbox的List
可实现点击内容即可选中 http://blog.csdn.net/harvic880925/article/details/40475367
- Python递归实现遍历目录
import os filePath = "/Users/busensei/wzy/filePath/" def read(filePath, n): it = os.listdi ...
- git分支提交管理
随着需求的增多,为了多人协作的顺利进行,需要进行分支开发,进而带来分支管理问题.今天主要讲一下如何管理分支及提交. 为了使git更好用,下面是我的git配置文件(放在C:\Users\Administ ...
- Java_静态变量
class c1c { private static int num = 0; private static double pi = 3.14; private double radius; priv ...
- JS进阶-闭包的几种常见形式
作用域链: //作用域链 var a = 1; function test() { var b =2; return a; } alert(test());//弹出1: alert(b);//不能获取 ...
- sql格式化工具
桌面版: SQLInform: http://www.sqlinform.com/download_free_desktop_sw.html 在线格式化: http://www.dpriver.com ...
- varchar2(100 char)是什么意思
最佳答案 varchar2(100 char)最长可以插入100个任意字符而varchar2(100)最长可以插入100个英文字符
- Android(java)学习笔记170:服务(service)之服务的生命周期 与 两种启动服务的区别
1.之前我们在Android(java)学习笔记171:Service生命周期 (2015-08-18 10:56)说明过,可以回头看看: 2.Service 的两种启动方法和区别: (1)Servi ...
- 面向对象的设计的SOLID原则
S.O.L.I.D是面向对象设计和编程中5个重要编码规则的首字母的缩写. - SRP The Single Responsibility Principle 单一责任原则 当需要修改某个类的时候原因有 ...
- 因JQUERY版本而产生的问题,需要加上迁移文件
IMG_01_history控制台报错 IMG_02_history代码报错