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学习笔记(五岁以下儿童) 深拷贝-浅拷贝 浅拷贝就是对引用的拷贝(仅仅拷贝父对象) 深拷贝就是对对象的资源拷贝 普通的复制,仅仅是添加了一个指向同一个地址空间的"标签" ...
随机推荐
- Mac 上有哪些鲜为人知且极大提高效率的工具?
来源:知乎文章收录于:风云社区SCOEE,提供上千款各类mac软件下载 1. Focus 功能: 屏蔽影响你学习的网站. 同类软件:Self Control, Rescue Time 特点 ...
- 2018acm-icpc青岛站后记
我要谢谢队友和出题人给了我这一个走出自闭的机会. 继上一个星期徐州因为1分钟的罚时痛失铜牌之后一度茶饭不思,深陷被铜牌支配的恐惧,孤注一掷将宝压到了下一站的青岛上. 幸好拿了银. 给浙大的出题人点赞, ...
- bzoj3237 cdq分治+可撤销并查集
https://www.lydsy.com/JudgeOnline/problem.php?id=3237 年轻的花花一直觉得cdq分治只能用来降维,不料竟然可以用来分治询问 N<=100000 ...
- Linux下查看线程数的几种方法汇总
Linux下查看线程数的几种方法汇总 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Linux下查看某个进程的线程数量 pstree命令以树状图显示进程间的关系(display ...
- ubuntu14.04 mysql数据库允许远程访问设置
安装mysql5.5 sudo apt-get install mysql-server-5.5 --------------------------------------------------- ...
- Java高并发秒杀API之Service层
Java高并发秒杀API之Service层 第1章 秒杀业务接口设计与实现 1.1service层开发之前的说明 开始Service层的编码之前,我们首先需要进行Dao层编码之后的思考:在Dao层我们 ...
- IntelliJ IDEA(2017)安装和破解
IDEA 全称 IntelliJ IDEA,是Java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手.代码自动提示.重构.J2EE支持.各类版本工具( ...
- IT这条路,适合什么人走。
今天 ,到图书馆Study,呼,不知道为撒,看到那么多新书,那么多新技术(也不能说是新技术,就是自己没有学习过的技术),特别兴奋,学习的疲劳顿时间就没了,感觉什么都想学,都想据为己有,但是...... ...
- loj 10181 绿色通道 二分答案+单调队列DP
空题段长度即为单调队列长度区间 每次二分答案进行check即可 #include<bits/stdc++.h> using namespace std; ; const int inf=0 ...
- 【LeetCode】108. Convert Sorted Array to Binary Search Tree
Problem: Given an array where elements are sorted in ascending order, convert it to a height balance ...