回顾和补充
day16作业讲解
mac系统上搭建Python环境。
环境变量的作用:方便在终端执行可执行程序,将可执行程序所在的目录添加到环境变量,那么以后无需再输入路径。
变量
name = "alex"
全局变量
NAME = "oldboy"
函数
def func() pass
常量
不允许修改的值,Python中执行哟定
v = 1 or 2v = 0 or 2v = 1 and 2v = 0 and 2
val = v if v else 666val = v or 666
int
整型其他精致转换十进制int(“ob110011”,base=2)
int/long
除法
bool
0 None 空
str,字符串类型。一般用于内存中做数据操作。
v = "alsx"#Unicode编码储存在内存。
bytes,字节类型。一般用于数据存储和网络传输。
v = "alex".encode("utf-8")#将字符串转换成字节(有Unicode编码转换为utf-8编码)
list
tuple
dict
set
None
以什么编码储存就要以什么编码打开(建议pycharm设置成utf-8编码)。
常见的编码
ascii
Unicode
utf-8
gbk
gbk2312
针对可变类型,将其重新创建一份。
浅拷贝:第一层
深拷贝:所有层
import copy v = [11,22,33,44,[11,22,33]] v1 = copy.copy(v) v2 = copy.deepcopy(v)
字符串类型不同
py3 :str bytes
py2:unicode str
默认解释器编码
输入输出
int
int long
除法
fange和xrang
模块和包
字典
keys
py2:列表
py3:迭代器,可以循环但不可以索引
values
py2:列表
py3:迭代器,可以循环但不可以索引
items
py2:列表
py3:迭代器,可以循环但不可以索引
常用内置函数:open/id/type/len/range...
is和==的区别? 通过id来进行检查
函数式编程:增加代码的可读性和重用性。
以后写函数必须加上注释。
函数做参数
函数做变量
函数做返回值
闭包
装饰器
生成器
def func(): print(123) yield 1 yield 3 v = func() def base(): yield 88 yield 99 def func(): yield 1 yield 2 yield from base() yield 3 result = func() for itme in fesult: 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))#生成器推导式,创建了一个生成器,内部循环未执行。 ### 3模块
常用内置模块:json/datetime/time/os/sys
requests
xlrd
文件
文件夹/包
导入
import 模块
from 模块.模块 import模块
相对导入【不推荐】
from.import xxx
from..import xxx
注意:文件和文件夹的命名不能是导入的模块名称相同,否则就会直接在当前目录中查找。
调用内部元素
函数()
模块.函数()
主文件
if __name__ == "__main__" page.pager()
回顾和补充
day16作业讲解
mac系统上搭建Python环境。
环境变量的作用:方便在终端执行可执行程序,将可执行程序所在的目录添加到环境变量,那么以后无需再输入路径。
变量
name = "alex"
全局变量
NAME = "oldboy"
函数
def func() pass
常量
不允许修改的值,Python中执行哟定
v = 1 or 2v = 0 or 2v = 1 and 2v = 0 and 2
val = v if v else 666val = v or 666
int
整型其他精致转换十进制int(“ob110011”,base=2)
int/long
除法
bool
0 None 空
str,字符串类型。一般用于内存中做数据操作。
v = "alsx"#Unicode编码储存在内存。
bytes,字节类型。一般用于数据存储和网络传输。
v = "alex".encode("utf-8")#将字符串转换成字节(有Unicode编码转换为utf-8编码)
list
tuple
dict
set
None
以什么编码储存就要以什么编码打开(建议pycharm设置成utf-8编码)。
常见的编码
ascii
Unicode
utf-8
gbk
gbk2312
针对可变类型,将其重新创建一份。
浅拷贝:第一层
深拷贝:所有层
import copy v = [11,22,33,44,[11,22,33]] v1 = copy.copy(v) v2 = copy.deepcopy(v)
字符串类型不同
py3 :str bytes
py2:unicode str
默认解释器编码
输入输出
int
int long
除法
fange和xrang
模块和包
字典
keys
py2:列表
py3:迭代器,可以循环但不可以索引
values
py2:列表
py3:迭代器,可以循环但不可以索引
items
py2:列表
py3:迭代器,可以循环但不可以索引
常用内置函数:open/id/type/len/range...
is和==的区别? 通过id来进行检查
函数式编程:增加代码的可读性和重用性。
以后写函数必须加上注释。
函数做参数
函数做变量
函数做返回值
闭包
装饰器
生成器
def func(): print(123) yield 1 yield 3 v = func() def base(): yield 88 yield 99 def func(): yield 1 yield 2 yield from base() yield 3 result = func() for itme in fesult: 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))#生成器推导式,创建了一个生成器,内部循环未执行。 ### 3模块
常用内置模块:json/datetime/time/os/sys
requests
xlrd
文件
文件夹/包
导入
import 模块
from 模块.模块 import模块
相对导入【不推荐】
from.import xxx
from..import xxx
注意:文件和文件夹的命名不能是导入的模块名称相同,否则就会直接在当前目录中查找。
调用内部元素
函数()
模块.函数()
主文件
if __name__ == "__main__" page.pager()