类属性

classmethod

给你一囗甜甜゛ 提交于 2020-03-01 20:09:42
class A(object): # 属性默认为类属性(可以给直接被类本身调用) num = "类属性" # 实例化方法(必须实例化类之后才能被调用) def func0(self): # self : 表示实例化类后的地址id print("func0") print(self) @classmethod def func1(cls): # self : 表示实例化类后的地址id cls.fun1="func1" # 类方法(不需要实例化类就可以被类本身调用) @classmethod def func2(cls): # cls : 表示没用被实例化的类本身 print('1 直接调用:默认类属性') print(cls.num,'\n') print('2 实例化调用:self方法') cls().func0() print('\n') print('3 直接调用:公共方法下的公共变量') print(cls.func1,'\n') #直接调用:类属性(定义类属性) print('4 打印当前方法') print("func2") print(cls) A.func2() 运行结果: 参考文档地址: https://www.runoob.com/python/python-func-classmethod.html 来源: CSDN 作者: csdn__YX 链接: https

python学习——类

假装没事ソ 提交于 2020-03-01 19:51:03
""" 类定义: 关键字:class 语法: class 类名: # 类里面的代码 类名的命名规范:遵循标识符的命名规范,风格采用大驼峰命名法(每个单词的第一个字母大写) 通过类创建对象: 对象 = 类名() """ class Cat: pass class MyTestClass: pass # 关于对象:有人叫对象,也有人叫实例 # 通过类创建对象(实例化对象) kitty = Cat() print(kitty, id(kitty)) coffee = Cat() print(coffee, id(coffee)) 类属性和实例属性 """ 这一类事物拥有的共同特征,我们通常会定义为类属性 类属性:在类里面直接定义的变量,叫做类属性 # 通过对象访问类属性:对象名.属性名 # 通过类访问类属性:类名.属性名 实例属性:每个对象的属性值都有可能不一样,就应该定义为实例属性(对象属性) 实例属性的定义:对象.属性名 = 属性值 """ print("------------------类属性--------------------") class Cat: leg = "四条腿" tail = "长尾巴" kitty = Cat() coffee = Cat() # 通过对象访问类属性:对象名.属性名 print(kitty.leg) print(coffee.leg) #

PYTHON复习

只愿长相守 提交于 2020-02-29 16:42:31
1.缩进:四个空格或一个TAB。 在程序中长度统一且强制使用。 2.注释: 单行注释# 多行注释‘’’ ‘’’ 3.保留字(关键字)【python有33个保留字】 type不属于保留字。 4.变量命名:首字符不能是数字,中间不能有空格,长度没有限制,大小写敏感。 允许大小写字母、数字、下划线、汉字等字符。 5.分支语句 if elif else 【每一个语句后都有冒号】 6.评估函数eval() :去掉参数u最外侧引号并执行余下语句的函数 7.turtle库 8.数字类型及操作 (1)整数类型: ·pow(x,y):x^y ·二进制:0b或0B开头 八进制:0o或0O开头 十六进制:0x或0X开头 (2)浮点数类型 浮点数间运算存在不确定尾数,不是bug ·round(x,d):对x四舍五入,d是小数截取位数 ·科学计数法,e或E作为幂符号,10为基数 <a>e<b>表示a*10^b 4.3e-3 为0.0043 (3)复数类型 ·a+bj a是实部,b是虚部 ·abs()、divmod()、pow()、round()、max()、min()、 int()、float()、complex() 9.strip():去掉字符串两侧指定字符 换行 \n 10.python中字母和汉字长度都是1 11.字符串类型及操作 len()、str()、hex(x):十六进制、oct(x):八进制

python面向对象之初步认识

假装没事ソ 提交于 2020-02-28 10:22:02
面向对象 类,用来描述一类事物的相同的特征或者属性。比如说,狗,狗属于一种统称,狗还分有不同的种类,比如,牧羊犬,蝴蝶犬,京巴等等,他们都有相同的特征,一个头,两个耳朵,四条腿,会跑,会吃东西,会汪汪叫。。。再比如汽车,四个轮子,都拥有车壳,都会跑,都有一定的承重。。。这些都是具备一些共同特征的事物。 类的定义方式: class ClassName: '类的帮助信息' # 类文档字符串 class_suite #类体,由类成员,方法,数据属性组成 下面是一个简单类的定义,其中函数内的self代指类的实例 class Cat: 'Cat类的帮助信息' def __init__(self): # 类的初始化方法 print("Cat 的init方法被调用") def eat(self): # 自定义方法 print("cat is eating") def run(self): # 自定义方法 print("cat is running") 如何使用这个类?与调用函数的方式类似,类的使用是通过类名()进行使用,返回的是一个对象,也就是实例。 tom = Cat() print(tom) # <__main__.Cat object at 0x000001B4A55123C8> 类中不仅仅可以定义函数,还可以定义变量。 class Car(object): 'Car' CarCount

面对对象编程

点点圈 提交于 2020-02-24 08:32:22
面向对象编程 标签(空格分隔): python 基础 --- 面向过程:根据业务逻辑从上到下写代码 面向对象:将数据与函数绑定到一起,进行封装,这样能够更快速的开发程序,减少了重复代码的重写过程 面向对象(object-oriented ;简称: OO) 至今还没有统一的概念 我这里把它定义为: 按人们 认识客观世界的系统思维方式,采用基于对象(实体) 的概念建立模型,模拟客观世界分析、设 计、实现软件的办法。 面向对象编程(Object Oriented Programming-OOP) 是一种解决软件复用的设计和编程方法。 这种方法把软件系统中相近相似的操作逻辑和操作 应用数据、状态,以类的型式描述出来,以对象实例的形式在软件系统中复用,以达到提高软件开发效率的作用。 面向对象编程的2个非常重要的概念:类和对象 对象是面向对象编程的核心,在使用对象的过程中,为了将具有共同特征和行为的一组对象抽象定义,提出了另外一个新的概念——类 #类 人以类聚 物以群分。 具有相似内部状态和运动规律的实体的集合(或统称为抽象)。 具有相同属性和行为事物的统称 类就是创建对象的模板 #对象 某一个具体事物的存在 ,在现实世界中可以是看得见摸得着的。 可以是直接使用的 #python中的类 类(Class) 由3个部分构成 类的名称:类名 类的属性:一组数据 类的方法:允许对进行操作的方法 (行为

Python笔记

╄→尐↘猪︶ㄣ 提交于 2020-02-21 22:37:13
文章目录 一、基础 1. 注释 单行注释 TODO注释 多行注释 2. 数据类型 3. 运算符 数值运算 字符串运算 成员运算符 身份运算符 4. 转义字符 二、高级变量 1. 列表 定义 方法 2. 元组 定义 方法 3. 字典 定义 方法 4. 字符串 定义 方法 5. 切片 6. 全局变量 三、判断与循环 1. 判断 if else elif 2. 循环 while for 四、函数与方法 1. 封装 2. 导入 3. 参数 4. 返回值 5. 常用函数 输入 输出 随机数 eval 其他 五、类 1. 封装 实例属性与实例方法 类属性与类方法 静态方法 案例与总结 内置方法 私有属性与私有方法 2. 多态 单继承 多继承 重写 六、异常 1. 异常捕获 2. 异常传递 3. 异常抛出 七、文件操作 1. 文件读写 2. 文件访问方式 3. 大文件读取 八、模块 1. 模块导入 2. 包 一、基础 1. 注释 单行注释 单行注释快捷键crtl+/ # 行注释 print ( "hello world" ) # 语句注释 重要代码块使用等号隔开 # ====================== # ====================== TODO注释 # TODO 待完成任务 多行注释 """ 多行注释 """ 2. 数据类型 Python中定义变量时不需要指定变量类型

Vue框架初识

和自甴很熟 提交于 2020-02-12 01:30:04
课程内容 """ Vue框架:前台界面,页面逻辑 1)指令 2)实例成员 3)组件 4)项目开发 DRF框架:数据(接口) 1)基础的模块:请求、响应、解析、渲染 2)序列化、三大认证 3)过滤、搜索、排序、分页 4)异常、第三方jwt、restful接口规范 Luffy项目:前后台分离项目 1)项目的登录认证、课程商机销售、项目完成 2)短信、支付宝、服务器、上线、redis、celery、git """ Vue框架 """ 1)定义:javascript渐进式框架 渐进式:可以控制一个页面的一个标签,也可以控制一系列标签,也可以控制整个页面,甚至可以控制整个前台项目 2)优势: 有指令(分支结构,循环结构...),复用页面结构等 有实例成员(过滤器,监听),可以对渲染的数据做二次格式化 有组件(模块的复用或组合),快速搭建页面 虚拟DOM 数据的双向绑定 单页面应用 数据驱动 3)为什么学习vue: 前台框架:Angular(庞大)、React(精通移动端)、Vue(吸取前两者优势,轻量级) Vue一手文档是中文 实现前后台分离开发,节约开发成本 4)如何使用Vue 简单使用 """ Vue环境简单搭建:通过script标签导入vue文件即可 """ 1)cdn <script src="https://cn.vuejs.org/js/vue.js"></script> 2

python面向对象编程——单例

浪尽此生 提交于 2020-02-11 23:13:58
01. 单例设计模式 设计模式 设计模式 是 前人工作的总结和提炼 ,通常,被人们广泛流传的设计模式都是针对 某一特定问题 的成熟的解决方案 使用 设计模式 是为了可重用代码、让代码更容易被他人理解、保证代码可靠性 单例设计模式 目的 —— 让 类 创建的对象,在系统中 只有 唯一的一个实例 每一次执行 类名() 返回的对象, 内存地址是相同的 单例设计模式的应用场景 音乐播放 对象 回收站 对象 打印机 对象 …… 02. __new__ 方法 使用 类名() 创建对象时, Python 的解释器 首先 会 调用 __new__ 方法为对象 分配空间 __new__ 是一个 由 object 基类提供的 内置的静态方法 ,主要作用有两个: 1 在内存中为对象 分配空间 2 返回 对象的引用 Python 的解释器获得对象的 引用 后,将引用作为 第一个参数 ,传递给 __init__ 方法 重写 __new__ 方法 的代码非常固定! 重写 __new__ 方法 一定要 return super().__new__(cls) 否则 Python 的解释器 得不到 分配了空间的 对象引用 , 就不会调用对象的初始化方法 注意: __new__ 是一个静态方法,在调用时需要 主动传递 cls 参数 ** 示例代码 ** class Music ( object ) : def _

python--创建类属性

一曲冷凌霜 提交于 2020-02-07 23:10:07
创建类属性 类是模板,而实例则是根据类创建的对象。 绑定在一个实例上的属性不会影响其他实例,但是,类本身也是一个对象,如果在类上绑定一个属性,则所有实例都可以访问类的属性,并且,所有实例访问的类属性都是同一个!也就是说,实例属性每个实例各自拥有,互相独立,而类属性有且只有一份。 定义类属性可以直接在 class 中定义: class Person(object): address = 'Earth' def __init__(self, name): self.name = name 因为类属性是直接绑定在类上的,所以,访问类属性不需要创建实例,就可以直接访问: print Person.address # => Earth 对一个实例调用类的属性也是可以访问的,所有实例都可以访问到它所属的类的属性: p1 = Person('Bob') p2 = Person('Alice') print p1.address # => Earth print p2.address # => Earth 由于Python是动态语言,类属性也是可以动态添加和修改的: Person.address = 'China' print p1.address # => 'China' print p2.address # => 'China' 因为类属性只有一份,所以,当Person类的address改变时

Python基础—异常和面向对象

こ雲淡風輕ζ 提交于 2020-02-06 00:18:49
期末笔记后期整理,如有问题,请多多指教。 一、异常 1、所有异常类都是Exception的子类 2、常见的异常 ①NameError:访问未声明的变量 ②ZeroDivisionError:除数为0 ③SyntaxError(编译时发生) ④IndexError:序列中不存在的索引 ⑤KeyError:字典中不存在的键访问值时 ⑥FileNotFoundError ⑦AttributeError:尝试访问未知对象属性 3、异常处理 ①捕获简单异常 try: #语句块 except: #异常处理代码(捕获所有异常) 当try里面语句出现错误时,不再继续执行try中语句,直接执行except中处理异常的语句。 ②捕获多个异常 try: #语句块 except 异常名称1: #异常处理代码 except 异常名称2: #异常处理代码 except(异常名1,异常名2): ③捕获异常的描述信息:为了区分不同的错误信息,使用as获取系统反馈的错误信息。 except(ZeroDivisionError,ValueError) as result: print("捕获到异常:%s"%result) except Exception as result: print("捕获到异常:%s"%result) ④没有捕获到异常:如果try语句没有捕获到任何的错误信息,就不再执行except