Python笔记 【无序】 【五】
描述符
将某种特殊类型的类【只要实现了以下或其中一个】的实例指派给另一个类的属性
1.__get__(self,instance,owner)//访问属性,返回属性的值
2.__set__(self,instance,value)//将在属性分配【即赋值】中调用,不返回任何内容
3.__delete__(self,instance)//控制删除操作,不反回任何内容

重写property

Del ---delete
练习


定制序列【定制容器】 容器---序列【字符串,元组,列表】+映射类型【字典】



练习 不可变类型 记录每个元素的访问次数

*args表示参数可变数量
self.values = [x for x in args] //列表推导式的形式,把参数放到列表values中
接着第二行为字典的初始化操作,键值对---数值-访问次数【全化为0】的形式
迭代器
【提供迭代方法的容器称为迭代器】 ---as字典,字符串,元组
常利用for循环!
for i in “xxxxx”:
Print(i)
迭代器内置函数:
iter(xxx) 容器对象调用iter()得到迭代器
next(xxx)返回下一个值,没有值可以返回了,python就抛出StopIteration的异常
string = "ssada"
a = iter(string)

迭代器的魔法方法:
__iter__()
__next__()

生成器【特殊的函数,可终端、暂停可暂时交还控制权】


生成器【特殊的迭代器,是他的一个实现】
函数中有yield语句,此函数被定义为生成器
斐波那契数列:

列表推导式:

字典推导式:

集合推导式:

生成器推导式

()括起来的,,,,,,
yield = return //不过有暂停功能
模块【更高级的封装】

即保存了一个.py的程序文件即是模块
导入模块
1.
import xx
xx.yy() ----使用导入模块中的方法
2.
form 模块名 import 函数名
yy()
3.
import 模块名 as 新名字
x.yy() ----使用导入模块中的方法
__name__、__main__、搜索路径和包
可以在每个模块后编写测试方法 ---
def test():
……
test() //调用
防止模块中测试方法在主程序中被使用显示
__name__
'__main__' //主程序中如此显示
xx.__name__
'显示模块名' //模块中如此显示

搜索路径


import 包名.模块名
Python笔记 【无序】 【五】的更多相关文章
- Python笔记(五):异常处理和数据存储
注:和上一篇有关联 (一) finally 和 输出异常信息 try: the_man = open(r'C:\Users\123456\Desktop\test.txt') ...
- Python笔记·第五章—— 列表(List) 的增删改查及其他方法
一.列表的简介 列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[ ]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如:li = ...
- devi into python 笔记(五)异常 文件操作 sys os glob模块简单实用
异常: Java异常: try catch块处理异常,throw引发异常. Python异常: try except块处理异常,raise引发异常. 异常如果不主动处理,则会交给Python中的缺省处 ...
- [Python笔记]第五篇:递归
本篇主要内容:递归以及冒泡排序 参考文章:(http://www.cnblogs.com/balian/archive/2011/02/11/1951054.html) 递归的概念 递归的概念很简单, ...
- Python笔记(五)
# -*- coding:utf-8 -*- # 函数 # python中定义函数的规则如下:以def开头,接函数名称和(),传入的参数和变量放在圆括号中间,函数以:起始,并且缩进,return选择性 ...
- Python笔记(十五)_异常处理
try-except语句 try: 被检测代码 except Exception [as reason]: 出现异常后的处理代码 例: try: sum = 1+' f=open('未定义文件.txt ...
- python笔记十五(面向对象及其特性)
一.面向对象: class(类):一类拥有共同属性对象的抽象:定义了这些对象的属性和方法object(对象):是一个类实例化后的实例,类必须经过实例化才可以在程序中调用: 由于之前学习过java,对类 ...
- 【和孩子一起学编程】 python笔记--第五天
关于python2在python3中的改动: https://mp.weixin.qq.com/mp/appmsg/show?__biz=MjM5MDEyMDk4Mw==&appmsgid=1 ...
- python学习第五次笔记
python学习第五次笔记 列表的缺点 1.列表可以存储大量的数据类型,但是如果数据量大的话,他的查询速度比较慢. 2.列表只能按照顺序存储,数据与数据之间关联性不强 数据类型划分 数据类型:可变数据 ...
- python学习笔记(五岁以下儿童)深深浅浅的副本复印件,文件和文件夹
python学习笔记(五岁以下儿童) 深拷贝-浅拷贝 浅拷贝就是对引用的拷贝(仅仅拷贝父对象) 深拷贝就是对对象的资源拷贝 普通的复制,仅仅是添加了一个指向同一个地址空间的"标签" ...
随机推荐
- angular 中自己常用的下拉框获取值方法
方法一 HTML页中 <select name="" id="if02" data-first-option="true" (chan ...
- BashOnWindow安装mysql
1.下载mysql 服务器和客户端 sudo apt-get install mysql-server mysql-client 其中过程会让输入用户名和密码 2.启动mysql服务 sudo ser ...
- IDEA tomcat 部署WEB项目
1. 2. 3.
- html页面导出为excel表格
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...
- 【1】【leetcode-79】 单词搜索
(典型dfs,知道思想写错) 给定一个二维网格和一个单词,找出该单词是否存在于网格中. 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格.同一个单 ...
- 用jquery的ajax方法获取return返回值的正确姿势
如果jquery中,想要获取ajax的return返回值,必须注意两方面,ajax的同步异步问题,在ajax方法里面还是外面进行return返回值. 下面列举了三种写法,如果想成功获取到返回值,参考第 ...
- log 的 debug()、 error()、 info()方法
log4j定义了8个级别的log(除去OFF和ALL,可以说分为6个级别),优先级从高到低依次为:OFF.FATAL.ERROR.WARN.INFO.DEBUG.TRACE. ALL. 简单的说,就是 ...
- mysql修改表结构语句
mysql alter 用法,修改表,字段等信息 一: 修改表信息 1.修改表名 alter table test_a rename to sys_app; 2.修改表注释 alter table ...
- Oracle12c开启scott账户
在oracle目录app\orcl\product\12.1.0\dbhome_1\NETWORK\ADMIN\下tnsnames.ora文件最后加入以下内容 PDBORCL = (DESCRIPTI ...
- CentOS7 安装 Tomcat8
安装 Java8准备更新软件yum update 如果提示没有 wget 命令,那么必须先安装 wget 如下:yum install wget 安装Tomcat8这里采用离线解压tar.gz的方式安 ...