python笔记18(复习)
今日内容
- 复习
内容详细
1.Python入门
1.1 环境的搭建
mac系统上搭建python环境。
环境变量的作用:方便在命令行(终端)执行可执行程序,将可执行程序所在的目录添加到环境变量,那么以后无需再输入路径。
1.2 变量命名
变量
name = 'alex'
全局变量
NAME = "oldboy"
函数
def func_list():
pass
常量
不允许修改的值,Python中执行约定。
1.3 运算符
v = 1 or 2
v = 0 or 2
v = 1 and 2
v = 0 and 2
val = v if v else 666
val = v or 666 # 源码
is和==的区别?
1.4 数据类型
int
- 整型
- 其他进制转换十进制 int('0b11011',base=2)
- int / long
- 除法
bool
- 0 None 空
str,字符串类型,一般用于内存中做数据操作。
v = 'alex' # unicode编码存储在内存。
bytes,字节类型,一般用于数据存储和网络传输。
v = 'alex'.encode('utf-8') # 将字符串转换成字节(由unicode编码转换为utf-8编码)
v = 'alex'.encode('gbk') # 将字符串转换成字节(由unicode编码转换为gbk编码)
list
tuple
dict
set
None
1.5 编码
py默认解释器编码
- py2
- py3
以什么编码存储就要以什么编码打开(建议Pycharm设置成UTF-8编码)。
常见的编码
- ascii
- unicode
- utf-8
- gbk
- gb2312
1.6 深浅拷贝
针对可变类型,将其重新创建一份。
- 浅拷贝:第一层
- 深拷贝:所有层。
import copy
v = [11,22,33,[11,22,3]]
v1 = copy.copy(v1)
v2 = copy.deepcopy(v)
1.7 py2和py3区别
- 字符串类型不同
- py3: str bytes
- py2: unicode str
- 默认解释器编码
- 输入输出
- int
- int long
- 除法
- range和xrang
- 模块和包
- 字典
- keys
- py2:列表
- py3:迭代器,可以循环但不可以索引
- values
- py2:列表
- py3:迭代器,可以循环但不可以索引
- items
- py2:列表
- py3:迭代器,可以循环但不可以索引
- keys
- map/filter
- py2:返回列表
- py3:返回迭代器,可以循环但不可以索引
2.函数
2.1 内置函数
- 常用内置函数:open / id / type / len / range ...
- is 和 == 的区别? 通过id来进行检查
2.2 自定义函数
函数式编程:增加代码的可读性和重用性。
函数基本格式:
def show(name,age):
"""
函数是干什么的...
:param name:
:param age:
:return:
"""
return None
函数做参数
函数做变量
函数做返回值
- 闭包
- 装饰器
生成器
def func():
print(123)
yield 1
yield 3 # 生成器
v = func()
# 循环v时或v.__next__() 时。
def base():
yield 88
yield 99 def func():
yield 1
yield 2
yield from base()
yield 3 result = func() for item in result:
print(item)
生成器推导式
# def func():
# result = []
# for i in range(10):
# result.append(i)
# return result
# v1 = func()
v1 = [i for i in range(10)] # 列表推导式,立即循环创建所有元素。
print(v1) # def func():
# for i in range(10):
# yield i
# v2 = func()
v2 = (i for i in range(10)) # 生成器推导式,创建了一个生成器,内部循环为执行。 # 面试题:请比较 [i for i in range(10)] 和 (i for i in range(10)) 的区别?
# 示例一
# def func():
# result = []
# for i in range(10):
# result.append(i)
# return result
# v1 = func()
# for item in v1:
# print(item) # 示例二
# def func():
# for i in range(10):
# def f():
# return i
# yield f
#
# v1 = func()
# for item in v1:
# print(item()) # 示例三:
v1 = [i for i in range(10)] # 列表推导式,立即循环创建所有元素。
v2 = (lambda :i for i in range(10))
for item in v2:
print(item())
迭代器
3.模块
3.1 内置模块
- 常见内置模块:json / datetime / time / os / sys
3.2 第三方模块
- requests
- xlrd,xlwd
3.3 自定义模块
- 文件
- 文件夹 / 包
3.4 使用模块
导入
import 模块
from 模块.模块 import 模块
from 模块.模块.模块 import 函数
相对导入【不推荐】
from . import xxx
from .. import xxx
注意:文件和文件夹的命名不能是导入的模块名称相同,否则就会直接在当前目录中查找。
调用模块内部元素
- 函数()
- 模块.函数()
python笔记18(复习)的更多相关文章
- Python笔记 #18# Pandas: Grouping
10 Minutes to pandas 引 By “group by” we are referring to a process involving one or more of the foll ...
- python笔记 - day8
python笔记 - day8 参考: http://www.cnblogs.com/wupeiqi/p/4766801.html http://www.cnblogs.com/wupeiqi/art ...
- python笔记 - day5
python笔记 - day5 参考: http://www.cnblogs.com/wupeiqi/articles/5484747.html http://www.cnblogs.com/alex ...
- s21day05 python笔记
s21day05 python笔记 一.昨日内容回顾及补充 回顾 补充 列表独有功能 extend:循环添加到一个列表中 1.users = ['张三',66],people = ['王五',99] ...
- s21day01 python笔记
s21day01 python笔记 一.计算机基础 计算机的初步认识 用户:人 软件:QQ.浏览器等 解释器/编译器/虚拟机:java解释器.python解释器等 操作系统 硬件:CPU.内存.硬盘. ...
- python笔记-1(import导入、time/datetime/random/os/sys模块)
python笔记-6(import导入.time/datetime/random/os/sys模块) 一.了解模块导入的基本知识 此部分此处不展开细说import导入,仅写几个点目前的认知即可.其 ...
- python笔记(2)--字符串
一.字符串 字符串是不可变序列,具有序列的公共操作方法,具体操作见python笔记(1)--序列(列表 元组 range) 1.创建字符串 单引号:'Hello , I am Logan ! ' 双引 ...
- python笔记05
python笔记05 数据类型 上个笔记知识点总结: 列表中extend特性:extend,(内部循环,将另外一个列表,字符串.元组添加到extend前的列表中) li.extend(s),将s中元素 ...
- Python笔记之不可不练
如果您已经有了一定的Python编程基础,那么本文就是为您的编程能力锦上添花,如果您刚刚开始对Python有一点点兴趣,不怕,Python的重点基础知识已经总结在博文<Python笔记之不可不知 ...
随机推荐
- Python 处理Excel内的数据(案例介绍*2)
(一)案例一介绍 现在有一匹电商产品跟当日销量的数据,如下,总共有上万笔的数据,现在需要统计每个品牌当日的销售量,比如美宝莲今天总共卖出了多少的商品,另外需要统计每个品牌下面的每个子品类当日销售量(品 ...
- Time、Date拼接成TimeStamp
Time.Date拼接成TimeStamp 有关于Time类型.Date类型的数据这里不再赘述,本文旨在讲解如何将数据库中的Time.Date类型取出来并转换成TimeStamp类型,话不多说,先看代 ...
- maven中scope标签各个值的意义
在使用maven配置时,有时候会见到scope这个标签,但是总是记不住他们所对应的含义,现在整理一下,以后忘记了再来查看. 版权声明:本文为CSDN博主「MrZhangBaby」的原创文章,遵循 CC ...
- js实现类选择器和name属性选择器
jQuery的出现,大大的提升了我们操作dom的效率,使得我们的开发更上一层楼,如jQuery的选择器就是一个很强大的功能,它包含了类选择器.id选择器.属性选择器.元素选择器.层级选择器.内容筛选选 ...
- C语言之运算符和表达式
运算符优先级: 求余运算用法: 声明变量的名字和类型: 变量的类型决定占用内存空间的大小.数据的存储形式,合法的表数范围.可参与的运算种类.变量名标识了内存中的一个存储单元. 自动类型转换: 运算符和 ...
- 基于Netty和SpringBoot实现一个轻量级RPC框架-Server篇
前提 前置文章: Github Page:<基于Netty和SpringBoot实现一个轻量级RPC框架-协议篇> Coding Page:<基于Netty和SpringBoot实现 ...
- 超级火的java自学网站
学靠的是毅力和自律,一定要坚持,否则就会前功尽弃,我自己也一直在边学边工作,当然自学要配合好的学习资料. 我是通过这个地方去学习的,它可以添加学习计划,从java基础到高级,从后台到前端,从细节到框架 ...
- mysql中emoji表情存储
mysql中emoji表情存储 背景 在mysql 5.7.19,创建的数据库默认选择的编码是utf8 -- UTF-8 Unicode,因此字段默认的编码为utf-8,但在项目开发中存在一个需求:在 ...
- CSS中使用文本阴影与元素阴影
文本阴影介绍 在CSS中使用text-shadow属性设置文本阴影,该属性一共有4个属性值如:水平阴影.垂直阴影.(清晰度或模糊距离).阴影颜色. text-shadow属性值说明,在文本阴影实践中: ...
- React16源码解读:揭秘ReactDOM.render
引言 在上一篇文章中我们通过create-react-app脚手架快速搭建了一个简单的示例,并基于该示例讲解了在类组件中React.Component和React.PureComponent背后的实现 ...