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 ...
随机推荐
- 驰骋工作流引擎-流程数据md5加密
关键字:工作流程数据加密 md5 数据保密流程数据防篡改软加密设置方式: 对工作流引擎的数据加密研究, 流程数据的加密方案与实现过程.输入图片说明需求背景1, 流程数据加密是为了防止流程数据被篡改 ...
- SuperMap iObject入门开发系列之四管线长度统计
本文是一位好友“托马斯”授权给我来发表的,介绍都是他的研究成果,在此,非常感谢. 上一期文章主要写了管线系统的标注功能,结合代码简单讲解了一些超图.NET开发框架气泡Bubble的使用方法,这期的文章 ...
- SQL SERVER数据库的简单介绍
一.数据库技术的发展 数据库技术是应数据管理任务的需求而产生的,先后经历了人工管理.文件系统.数据库系统等三个阶段. 二.关系型数据库 SQL Server属于关系型数据库. 关系模型 以二维表来描述 ...
- 织梦5.7sp1最新问题:后台不显示编辑器
1.在后台的“系统基本参数”里修改“站点设置”的“网页主页链接:空”. 2.修改“核心设置”DedeCMS安装目录:空“. 3.试试,问题解决.
- C# Npoi 实现Excel与数据库相互导入
十年河东,十年河西,莫欺少年穷! NPOI支持对 Word 和 Excel 文件的操作! 针对 Word 的操作一般用于打印技术!说白了就是利用 Word 文件作为模板,生成各种不同的打印!具体用到的 ...
- Netty3:分隔符和定长解码器
回顾TCP粘包/拆包问题解决方案 上文详细说了TCP粘包/拆包问题产生的原因及解决方式,并以LineBasedFrameDecoder为例演示了粘包/拆包问题的实际解决方案,本文再介绍两种粘包/拆包问 ...
- 49个Spring经典面试题总结,附带答案,赶紧收藏
1. 一般问题 1.1. 不同版本的 Spring Framework 有哪些主要功能? Version Feature Spring 2.5 发布于 2007 年.这是第一个支持注解的版本. Spr ...
- Activity 之使用
Activity 之使用 本文内容 1. 使用 Activity 显式简单界面 2. Activity 之间的跳转 2.1 startActivity 2.3 startActivityForResu ...
- linux入门--操作系统是什么,操作系统概述
Linux 也是众多操作系统之一,要想知道 Linux 是什么,首先得说一说什么是操作系统. 计算机是一台机器,它按照用户的要求接收信息.存储数据.处理数据,然后再将处理结果输出(文字.图片.音频.视 ...
- C# ListView 控件和 INotifyPropertyChanged 接口
ListView 控件和 DataGridView 控件 ListView 是跟 Winform 中 DataGridView 用法以及显示效果差不多的一个 WPF 控件,可以通过列表的方式方便的显示 ...