Python学习 5day__基础知识
类的成员描述符 在类中对成员属性进行相关操作而创建的一种方式get: 获取属性的操作set:修改或添加属性的操作delete:删除属性的操作 使用property函数来使用描述符 property() 定义一个Person类,具有name,age两个属性,对于任意输入的姓名,我们希望都用大写保存,年龄用整数保存
class Person():# 函数名称可以任意def fget(self):return self._name *2def fset(self, name):# 所有输入的姓名以大写保存self._name = name.upper()def fdel(self):self._name = "NoName"name = property(fget, fset, fdel, "操作" )# 对成员进行控制 p1 = Person() p1.name = "xiao gege " print(p1.name)
类的内置属性 __dict__: 以字典的方式显示类的成员组成 __doc__: 获取类的文档信息 __name__: 获取类的名称,用在模块,就获得模块的名称 __bases__:获取某个类的所有父类,以元组的形式显示 类的内置函数举例
1 class A(object): 2 ''' 3 这是一个类的内置函数举例 4 ''' 5 name = "aaa" 6 print("qqqq") 7 class B(A): 8 print("我是B 我爹是A") 9 10 print(A.__dict__) 11 print(A.__doc__) 12 print(A.__name__) 13 print(B.__bases__)
类的常用魔术方法 魔术方法就是不需要人为调用的方法,基本是在特定的时刻自动触发 特征:方法名前后有两个下划线 __init__ __new__: 对象实例化方法 __call__:对象当函数使用的时候触发 __str__: 当对象被当作字符串使用时触发 __repr__: 返回字符串,和__str__区别不大 __getattr__: 访问一个不存在的属性时触发 __setattr__: 队成员属性进行设置的时候触发 # 注意__setattr__中不能对属性进行赋值,否则产生死循环
1 class Q(): 2 3 def __init__(self, name): 4 print("调用了__init__") 5 self.name = name 6 def __call__(self): 7 print("调用了__call__") 8 def __str__(self): 9 return "调用了__str__" 10 def __getattr__(self, item): 11 print("调用了__getattr__") 12 def __setattr__(self, name, value): 13 print("调用了__setattr__") 14 super().__setattr__(name,value) # 防止死循环,可以调用父类魔法函数 15 16 q = Q("xiaogege") 17 q() # 对象当函数使用,,触发__call__ 18 print(q) # 对象当字符串 19 print(q.ppp) 20 q.name = "sha bi"
类的三种方法 实例方法: 需要实例化对象才能使用 静态方法: 不许哟啊实例化,通过类直接使用 类方法: 不需要实例化
class Person()# 实例方法def eat(self):print(self)print("eating......")# 类方法 @classmethoddef play(cls):print(cls)print("playing.....")# 静态方法 @staticmethoddef say():print("say......")
转载于:https://www.cnblogs.com/Burtit/p/9326207.html
Python学习 5day__基础知识相关推荐
- Python学习0——基础知识1
复习一下:Python基础知识学习 菜鸟教程:Python3 基础语法 | 菜鸟教程 (runoob.com) 一.数据类型 1.Number(数字) (1)数字类型 Python包括4种数字类型:i ...
- Python学习(基础知识2)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.python文件基本操作 1.单个文件的读写 2.多个文件的读写 3.文件特定行的读写 二.Python常见的异常 ...
- Python学习心得——基础知识(六)
一.lambda表达式 1.定义 针对简单的函数,用lambda表达式来展现更方便. 2.样例 1 #普通函数 2 def f1(a): 3 return a+1 4 print(f1(7)) 5 6 ...
- Python学习手册 - 基础知识汇总(精简版)
1.列表 (列表是动态的) 基本操作: list = ["A","B","C"]#列表检索list[0] #0 - 位置list[-1] # ...
- python基础语法及知识总结-Python 学习完基础语法知识后,如何进一步提高?
---4.30更新---感谢大家支持,点赞都破两千了.给大家整理出来新的资料,需要的小伙伴来自取: Python练手项目视频如下: Python自学基础知识如下: 以下为原文内容: Python 学习 ...
- python基础知识资料-学习Python列表的基础知识汇总
千里之行,始于足下.要练成一双洞悉一切的眼睛,还是得先把基本功扎扎实实地学好.今天,本喵带大家仔细温习一下Python的列表.温故而知新,不亦说乎. 当然,温习的同时也要发散思考,因为有些看似无关紧要 ...
- Python培训入门基础知识学什么?
Python培训基础知识主要是针对一些零基础的同学安排的,虽说Python是相对比较简单的一门编程语言,但是没有基础的同学还是要进行系统的学习,那么Python培训入门基础知识学什么呢?来看看下面小编 ...
- 零基础可以学python吗-学Python需要什么基础知识?零基础可以学Python吗?
学Python需要什么基础知识?一般来说,想要学Python最好具备一定的计算机专业知识,尤其是数学和英语不错的话,对学Python也有一定的帮助.但是零基础的学习者就不能学Python了吗?当然不是 ...
- 学python需要什么基础知识-学Python需要什么基础知识?零基础可以学Python吗?
学Python需要什么基础知识?一般来说,想要学Python最好具备一定的计算机专业知识,尤其是数学和英语不错的话,对学Python也有一定的帮助.但是零基础的学习者就不能学Python了吗?当然不是 ...
- 学python需要什么基础知识-没学过Python先要学习哪些基础知识?
零基础学Python应该学习哪些入门知识 关于零基础怎么样能快速学好Python的问题,百度提问和解答的都很多,你可以百度下看看.我觉得从个人自学的角度出发,应从以下几个方面来理解: 1 为什么选择学 ...
最新文章
- 智办事2.0,第一个提出以“事情”为中心的企业管理方法落地软件
- 【Python】Numpy基础:数组和矢量运算
- 大数据凉了?No,流式计算浪潮才刚刚开始!
- python global 变量_python 全局变量和局部变量 (例子)
- 软件测试准备(摘要)
- 连接数据库的三种配置方式
- 《痞子衡嵌入式半月刊》 第 2 期
- 马蜂窝火车票系统服务化改造初探
- IT十八掌徐培成第三天笔记
- Java 循环语句折纸小游戏
- ireport的简单使用(数据表格)报表
- “幽幽远远”正式开张了,但是我的心情没有往日的开怀
- 「扫盲」 Elasticsearch
- php taglib.php,thinkphp5 taglib_pre_load预加载自定义标签库
- SAP Change Request Management (ChaRM)基础教程
- 云安对于物理服务器监控
- 好不容易从流水线转码农的我又“失业”了...
- 28种运动健身摄影调色lr预设
- java中double..compare_Java Double类compare()方法与示例
- Python设计模式:享元模式和单例模式
热门文章
- Java程序员面试宝典--面向对象的基本概念
- 0-1之间的随机数 C/C++
- token令牌防止重复提交
- gridview為什麼分頁後,GridView1_RowDataBound就運行不了
- jQuery基础资料
- TCP新手误区–心跳的意义
- C++ 单例模式 模版类(Meyers‘ Singleton)
- 将两个数组首尾相连c语言,一个百度笔试中的首尾相连的珠子问题解法
- 左右方块消除html5,html5消除方块游戏总结-对象
- stm32采集脉冲信号_外部脉冲实现ADC采样的问题 STM32f103VE