Python之路Day11
函数名的第一类对象及使用
当作值,赋值给变量
def func():
print(1)
print(func) #查看函数的内存地址
a=func
print(a)
a()
可以当作容器中的元素
def func():
print(1)
def foo():
print(2)
#lst.append(func)
#lst.append(foo)
#print(lst)
lst=[func,foo] #放到列表
for i in lst:
i() dic={} #放到字典中
函数名可以当作函数的参数
def func(a):
a()
print(111)
def foo():
print(222)
def f1():
print(333)
func(f1)
foo()
函数名可以当作函数的返回值
def func():
def foo():
print(111)
return foo
func()()
f-strings 格式化
f"{}"
迭代器
可迭代对象
list,tuple,str,set,dict 取值方式只能直接看
只要具有
_iter_()方法就是一个可迭代对象s._iter_()-- 将可迭代对象转换成迭代器
具有
_iter_()和_next_()两个方法的才是迭代器迭代器再执行
_iter_还是原来的迭代器for 循环的本质
while true:
try:
print(s._next_())
except StopIteration:
break
iter()与_iter_()是一样的python 2 中有
iter() _iter_() next()python 3 中
iter()和_iter_() _next_()和next()都有
next()与_next_()是一样的iter()与next()用法:
l=iter(lst) #iter(迭代对象)
next(l) #next(迭代器)迭代器时基于上一次停留的位置,继续取值,不能取超,否则会报错
迭代器优点:
惰性机制 -- 节省空间
迭代器缺点:
不能直接查看值,迭代器查看到的时迭代器的内存地址
一次性,用完就没了
不能逆行
空间换时间:容器存储大量的元素,取值时间短,但是容器占用空间较大
时间换空间:虽然节省了空间,但是取值时间较长
Python之路Day11的更多相关文章
- python之路-Day11
引子 到目前为止,我们已经学了网络并发编程的2个套路, 多进程,多线程,这哥俩的优势和劣势都非常的明显,我们一起来回顾下 协程 协程,又称微线程,纤程.英文名Coroutine.一句话说明什么是线程: ...
- 初学python之路-day11
一.函数的参数:实参与形参 # 参数介绍: # 函数为什么要有参数:因为内部的函数体需要外部的数据 # 怎么定义函数的参数:在定义函数阶段,函数名后面()中来定义函数的参数 # 怎么使用函数的参数:在 ...
- python 之路,Day11 (下)- sqlalchemy ORM
python 之路,Day11 - sqlalchemy ORM 本节内容 ORM介绍 sqlalchemy安装 sqlalchemy基本使用 多外键关联 多对多关系 表结构设计作业 1. ORM ...
- python 之路,Day11(上) - python mysql and ORM
python 之路,Day11 - python mysql and ORM 本节内容 数据库介绍 mysql 数据库安装使用 mysql管理 mysql 数据类型 常用mysql命令 创建数据库 ...
- Python之路【第一篇】python基础
一.python开发 1.开发: 1)高级语言:python .Java .PHP. C# Go ruby c++ ===>字节码 2)低级语言:c .汇编 2.语言之间的对比: 1)py ...
- Python之路
Python学习之路 第一天 Python之路,Day1 - Python基础1介绍.基本语法.流程控制 第一天作业第二天 Python之路,Day2 - Pytho ...
- python之路 目录
目录 python python_基础总结1 python由来 字符编码 注释 pyc文件 python变量 导入模块 获取用户输入 流程控制if while python 基础2 编码转换 pych ...
- Python之路【第十九篇】:爬虫
Python之路[第十九篇]:爬虫 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用 ...
- Python之路【第十八篇】:Web框架们
Python之路[第十八篇]:Web框架们 Python的WEB框架 Bottle Bottle是一个快速.简洁.轻量级的基于WSIG的微型Web框架,此框架只由一个 .py 文件,除了Pytho ...
随机推荐
- JavaScript之BOM基础
BOM(Browser Object Model)也叫浏览器对象,它提供了很多对象,用于访问浏览器的功能.但是BOM是没有标准的,每一个浏览器厂家会根据自己的需求来扩展BOM对象.本文主要以一些简单的 ...
- Linux_simpl shell-利用Shell脚本for循环输出系统中的用户及其Shell
[root@localhost ~]# vim user.sh 1 #!/bin/bash 2 for i in `cut -d ":" -f1 /etc/passwd`; 3 d ...
- UCF Local Contest 2015 J 最小割
题意: 有
- Node中使用MongoDB
简介 MongoDB 中文文档 MongoDB是一个介于关系数据库和非关系数据库(nosql)之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. Mongoose 在Node中可以使用 Mo ...
- mysql在node中的一些操作
mysql 服务: a) 安装wamp|xamp 开启 mysql服务 b) 安装mysql 开启服务 库操作: 客户端:软件操作(UI工具) wamp的客户端是phpmyadmin navicat ...
- 安装NTP到CentOS(YUM)
运行环境 系统版本:CentOS Linux release 7.3.1611 (Core) 软件版本:Docker 17.12.1-ce 硬件要求:无 安装过程 1.安装YUM-EPEL存储库 YU ...
- Jean-Pierre Serre访问录
问:是什么使您以数学为职业的? 答:我记得大概是从七.八岁时起喜欢数学的.在中学里, 我常做一些高年级的题目.那时,我寄宿于Nimes,与比我大的孩子住在一起,他们常常欺侮我,为了平抚他们,我就经常帮 ...
- C++关于锁的总结(一)
C++关于锁的总结(一) 线程中的锁分为两种,互斥锁和共享锁. 相关的头文件有<mutex>,<shared_mutex>,前者具有std::unique_lock操作,用于实 ...
- git rm与git rm --cached的区别
git rm与git rm --cached的区别 当我们需要删除暂存区或分支上的文件, 同时工作区也不需要这个文件了, 可以使用. git rm file_path git commit -m 'd ...
- Jenkins+robotframework持续集成环境(三)
构建job并运行 一.配置job 1.在Jenkins首页的左侧菜单栏,点击新建任务,输入一个任务名称,并选择“构建一个自由风格的软件项目”,点击确定进入配置Job页面. 2.在构建处选择Window ...