python之定义类创建实例
https://www.cnblogs.com/evablogs/p/6688938.html
类的定义
在Python中,类通过class关键字定义,类名以大写字母开头
|
1
2
|
>>>class Person(object): #所有的类都是从object类继承 pass #pass先不做任何处理,先跳过,为了防止语法错误 |
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
>>> class Person(object): address = 'Earth' #类的属性直接在类内部定义,当实例属性和类属性重名时,实例属性优先级高 def __init__(self, name): self.name = name>>> Person.address #直接通过类.属性可以访问'Earth'>>>p1=Person('A') >>>p1.address #通过创建类的实例,也可以通过实例.属性访问'Earth'>>> Person.address='KKKK' #类的属性可以动态修改>>> Person.address'KKKK'>>>p1.address #类的属性一经修改,所有访问的属性值也随之更改'KKKK' |
创建实例使用 类名+(),类似函数调用的形式创建:
例如:
|
1
2
3
4
5
6
7
|
>>> class Person(object): pass>>> p1 = Person() #创建实例>>> p1.name = 'Bart' #创建实例属性>>> p2 = Person()>>> p2.name = 'Adam' |
初始化实例属性
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
>>> class Person(object): class=1 #定义类属性 def __init__(self, name,age): #__init__(self,属性1,属性2....):self代表实例,通过self访问实例对象的变量和函数 self.name = name self.__age=age #实例的私有属性无法从外部访问,但是,从类的内部是可以访问的#定义实例方法 def get_name(self): return self.__age #实例方法,定义在类内部,可以访问实例的私有属性__age#定义类方法 @classmethod def how_many(cls): #通过@classmethod标记类方法,类方法的第一个参数为cls,cls.class相当于Person.class return cls.class #类方法中无法调用任何实例的变量,只能获得类引用>>> p1 = Person('Bob',12)>>> print p1.get_age() #实例方法的调用,self不需要显式传入 |
注意:
下划线和双下划线的区别:
以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,那么以“_”开头的名称都不会被导入,即不能用“from xxx import *”而导入,除非模块或包中的“__all__”列表显式地包含了它们;
以双下划线开头的(__foo)代表类的私有成员,只有类本身能访问,其子类对象也不能访问到这个数据。
python之定义类创建实例的更多相关文章
- python基础教程:定义类创建实例
类的定义 在Python中,类通过class关键字定义,类名以大写字母开头 >>>class Person(object): #所有的类都是从object类继承 pass #pass ...
- Python学习:类和实例
Python学习:类和实例 本文作者: 玄魂工作室--热热的蚂蚁 类,在学习面向对象我们可以把类当成一种规范,这个思想就我个人的体会,感觉很重要,除了封装的功能外,类作为一种规范,我们自己可以定制的规 ...
- python中的类和实例
今天花了两个多小时后搜索相关博客看了看python中有关类和实例的介绍,差不多大概明白了. python中的类和c++中的类是一样的,不同之处就是c++的类,如果含有成员变量,并且成员变量发生变化后, ...
- Python学习_11_类和实例
类和实例 类是对象创建实例的模板,而实例则是对象的实体.类使用class关键字定义: class MyClass: pass python中创建实例直接使用工厂函数(类名加上一对括号),和其他的 ...
- Python进阶_类与实例
上一节将到面对对象必须先抽象模型,之后直接利用模型.这一节我们来具体理解一下这句话的意思. 面对对象最重要的概念就是类(class)和实例(instance),必须牢记类是抽象的模板,比如studen ...
- Python面向对象编程 -- 类和实例、访问限制
面向对象编程 Object Oriented Programming,简称OOP,是一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数. 面向过程的程序设计把计算机程 ...
- Python 面向对象基础(类、实例、方法、属性封装)
python是面向对象语言,一切皆对象. 面向过程: 变量和函数. “散落” 在文件的各个位置,甚至是不同文件中.看不出变量与函数的相关性,非常不利于维护,设计模式不清晰. 经常导致程序员,忘记某个变 ...
- Python面向对象:类、实例与访问限制
首先记录下面向对象的名词: 对象:python万物皆对象,程序设计的东西在对象上体现. 类:具有相同属性和行为的对象的集合. 消息:各个对象之间通过消息相互联系. 方法:对象功能实现的过程. 封装:把 ...
- 廖雪峰Python学习笔记——类和实例
Class MyList(list): __metaclass__ = ListMetaclass #它表示在创建MyList这个类时,必须通过 ListMetaclass这个元类的LIstMetac ...
随机推荐
- 21 , CSS 构造模型
1. div 2. 边距 3. 边框 4. 定位 5. 浮动 1 21.1 div 部分(division)---<div>元素,经常以 div 形式引用---是 XHTML 元素,用于 ...
- 骁龙735处理器细节曝光:7nm工艺加持,支持5G
骁龙700系列是高通公司的中高端芯片组系列,该系列包括10nm骁龙710和骁龙712 SoC:以及8nm骁龙730和骁龙730G SoC.最新消息显示,高通公司正在开发一款新的7nm芯片组,将被称为骁 ...
- (办公)springboot配置aop处理请求.
最近项目用到springboot,就是需要配置一些东西.比如用aop处理请求.方法前通知获取url,method,ip,类方法,参数,方法后通知,返回参数,而且还可以记录一下日志.下面是操作的代码. ...
- 自己手动搭建jenkins教程
下载列表; http://updates.jenkins-ci.org/download/war/ 本次下载: http://updates.jenkins-ci.org/download/war/ ...
- DataPipeline联合Confluent Kafka Meetup上海站
Confluent作为国际数据“流”处理技术领先者,提供实时数据处理解决方案,在市场上拥有大量企业客户,帮助企业轻松访问各类数据.DataPipeline作为国内首家原生支持Kafka解决方案的“iP ...
- SqlServer中循环给多张表建立聚簇索引
缘由 因为在某个复(bian)杂(tai)需求中用到了170+张表进行查询,而且表中的数据过多,查起来缓慢.只能给这些表添加索引.但是,连表名也是无法确定的(无力吐槽). 解决方法 使用游标遍历查询出 ...
- python 自学之路-Day Two
Day1补充部分 模块初识 模块就是由其他人写好的功能,在程序需要的时候进行导入,直接使用,也叫库. 库有标准库和第三方库,所谓标准库,就是不需要安装就可以直接使用的,自带的:第三方库,就是需要进行下 ...
- 函数声明 和 var声明的优先级
function demo() { console.log(5) } var demo = function(){ console.log(4) } console.log(demo()) var d ...
- python安装第三方库报错visual c++ 14.0 is required
使用python安装第三方库时报错如下: error: Microsoft Visual C++ 14.0 is required. Get it with “Microsoft Visual C++ ...
- “挑三拣四”地学一学Java I/O
古人云:“读书破万卷,下笔如有神”.也就是说,只有大量的阅读,写作的时候才能风生水起——写作意味着输出(我的知识传播给他人),而读书意味着输入(从他人的知识中汲取营养). 对于Java I/O来说,I ...