python3 day04 大纲
上节课内容回顾:
1. 小数据池
存储数据. 共享小数据池
int,str, bool == 和 is区别:
== 判断的是两边的值
is 左右两端的内存地址 2. 深浅拷贝
1. = 没有创建新对象, 是一个内存指向的转换
2. 浅拷贝. 只会拷贝第一层内容, [:], copy()
3. 深拷贝. 全部拷贝一份
import copy
copy.deepcopy()
3. 文件操作
open(路径, mode="模式", encoding="编码") 打开一个文件, 获取到文件句柄 路径:
绝对路径
从磁盘跟目录寻找 相对路径
当前程序所在的文件夹
../day01 模式:
r, w, a, r+, w+, a+, rb, wb, ab, read()
readline() 读一行
readLines() 全部读取, 返回列表 for i in f: with open() as f: 不用关闭连接 4. 函数
含义:对功能或者动作的封装. 声明:
def func(形参):
函数体-> return 调用:
ret = func(实参) 形参: 函数声明的时候, 写的变量.
1. 位置
2. 默认值
3. 动态传参
* : 位置参数的动态传参
** : 关键字参数的动态传参
def func(*args, **kwarg):
pass 顺序:
位置 > *args > 默认值 > **kwargs 实参: 函数调用的时候, 给函数传递的具体的值
1. 位置参数
2. 关键字参数
3. 混合(位置, 关键字) *, ** : 把列表或者元组, 字典, 打散 返回值:
return: 会终止一个函数的执行.
1. 不写return. 返回None
2. 写了return 没值. None
3. return 值. 返回一个值
4. return 值1, 值2, 值3.... 名称空间和作用域:
名称空间:
1. 内置
2. 全局
3. 局部名称空间 作用域:
1. 内置+全局 => 全局作用域 globals()
2. 局部 => 局部作用域 locals() global 把全局变量引入到局部
nonlocal 在局部, 把上一层函数的变量引入到内层函数 函数名:
函数名就是变量名 1. 迭代器
list, dict, str, tuple, set, open ->__iter__
int, bool -> 没有__iter__ dir() 查看我们数据类型可以执行的操作 让不同的数据类型有相同的遍历方式. 特点:
1. 省内存
2. 只能向前. 不能反复
3. 惰性机制 如何判断一个变量是否是迭代器, 可迭代对象
list 使用代码如何判定
Iterator, Iterable 2. 生成器
本质上就是一个迭代器
节省内存 def func():
yield
生成器函数 -> 执行的时候. 不会立即把函数全部执行完. 创建一个生成器返回给你 省内存
__next__() 可以拿到数据
send() 可以拿到数据, 可以给生成器传递消息 生成器函数: yield 列表推导式:
[结果 for循环 if语句]
字典推导式:
{key:value for if}
集合推导式
{key for if} 没有元组推导式!!!!!!! 生成器表达式:
(结果 for if) 3. 内置函数
匿名函数
lambda 参数: 返回值 4. 装饰器
大型闭包
在不改变原来的代码的基础上给代码增加新的功能 开闭原则:
开放: 可以对软件添加新的功能
封闭: 不可以修改源代码 通用装饰器:
def wrapper(fn): # fn是目标函数
def inner(*args, **kwargs):
'''执行之前'''
ret = fn(*args, **kwargs) # 执行目标函数
'''执行之后'''
return ret
return inner @wrapper
def func():
pass func() # inner() 主要内容:模块
python3 day04 大纲的更多相关文章
- python3 今日大纲 day05
1. 上周内容回顾 1. 闭包: 内层函数对外层函数变量的使用 def outer(): a = 10 def inner(): print(a) return inner ret = outer() ...
- python3 day03 大纲
一. 上次课内容回顾 1. 格式化输出 %d 占位数字 %s 占位字符串 %f 占位小数 "jfklasjkfj%s %d %f" % (值1, 值2, 值3) "{}爱 ...
- python3 day02 大纲
一. 格式化输出 %s 字符串的占位 %d 数字的占位 digit %f 浮点数 字符串 % (数据) 模板字符串(3.5) # username = "admin"# passw ...
- python3 day01 大纲
1. 简介python 龟叔 89年 人工智能 2. 特点 优点: 简单, 明确, 优雅,跨平台 缺点: 慢 解释型编程语言 分类: 解释型: 一行一行的把代码进行翻译. 执行效率比较低 优势: 跨平 ...
- day04 ---Linux安装Python3
如何linux上安装python3 1.下载源代码,方式有2个, 1.在windows上下载,下载完成后,通过lrzsz工具,或者xftp工具,传输到linux服务器中 2.在linux中直接下载 c ...
- python3笔记目录大纲汇总
篇一.python3基础知识和语句 python3笔记一:python基础知识 python3笔记二:进制转换与原码反码补码 python3笔记三:运算符与表达式 python3笔记四:if语句 py ...
- python3 练习题 day04
'''1.整理装饰器的形成过程,背诵装饰器的固定格式''''''开放封闭原则:为了保证程序的稳定性,和功能的可开放性,在不修改目标函数源代码和调用方式的情况下,对目标函数增加新功能'''# def w ...
- Python3 第五周大纲(模块,导入方法、import本质,导入优化,模块的分类)
1.定义: 模块:逻辑上组织python代码(变量.函数.类.逻辑:实现一个功能,本质是.py结尾的文件) 2.导入方法 import module_name,module_name2,...... ...
- python开发学习-day04(迭代器、生成器、装饰器、二分查找、正则)
s12-20160123-day04 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: ...
随机推荐
- ASPxGridView 选中主表一行数据,从表自动选中(勾选)对应的行
一.图解 下图为效果图,点击 [A表]种的某一行,[B表]会有与之相对于一行会被自动选中并且勾选上: 二.Html 代码 <html xmlns="http://www.w3.org/ ...
- sublime快捷方式小结
插件 package control安装 代码地址:https://packagecontrol.io/installation //TEXT3 import urllib.request,os,ha ...
- Java Filter防止sql注入攻击
原理,过滤所有请求中含有非法的字符,例如:, & < select delete 等关键字,黑客可以利用这些字符进行注入攻击,原理是后台实现使用拼接字符串,案例:某个网站的登入验证的SQ ...
- Redis 开启远程连接
默认 bind 127.0.0.1 即绑定本机 IP,只能本机访问,你也可以绑定别的 IP 地址,如果注释掉,表示不限制 IP,所有 IP 都能访问 # ~~~ WARNING ~~~ If the ...
- JAVA代码根据经纬度范围计算WGS84与谷歌全球墨卡托包含的切片数目与拼接图像像素尺寸
根据项目需求编写的代码. 适用场景:在网络地图上,比如天地图与谷歌地图,用户用鼠标在地图上拉一个矩形框,希望下载该矩形框内某一层级的瓦片数据,并将所有瓦片拼接成一个完整的,包含地理坐标的tif图像. ...
- Ubuntu下解压缩文件
记录Ubuntu下各种压缩和解压方式: .tar解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)—————— ...
- js导出Excel表格
js导出Excel表格 直接上代码: 红色部分:如果表格数据中有“1/1”这样的值,会在导出的Excel中转化为日期“1月1日”,所以才加上了红色那两句.如果返回值中没有这样的格式,红色部分可以不写. ...
- Android包管理机制(一) PackageInstaller的初始化
前言 包管理机制是Android中的重要机制,是应用开发和系统开发需要掌握的知识点之一. 包指的是Apk.jar和so文件等等,它们被加载到Android内存中,由一个包转变成可执行的代码,这就需要一 ...
- git 入门教程之撤销更改
撤销更改 相信你已经了解了 git 的基本概念,也清楚了工作区,暂存区和版本库的关系,现在让我们用所学的知识继解决实际问题吧! 背景 正常看得见的目录是我们最为熟悉的工作区,在工作中不可能总是100% ...
- mysql之变量
本文内容: 系统变量 用户变量 局部变量 首发日期:2018-04-18 系统变量: 系统变量就是系统已经提前定义好了的变量 系统变量一般都有其特殊意义.比如某些变量代表字符集.某些变量代表某些mys ...