chapter1
-
官网下载Python3的安装包
-
安装python,下载相应的版本。安装成功,Windows控制行使用
python -V
-
Python注重空格,一般情况使用
Tab
按键 -
处理复杂数据——电影数据列表
-
创建简单的Python列表
# 简短的电影列表 movies = ["taoteman","Japan"] # Python变量符没有类型
-
列表就像其他语言的
数组
,但不完全是,列表是完备的Python集合对象 -
使用
中括号
访问列表数据 -
Python列表增加更多数据
- 混合类型——Python列表是
高层集合
,并不关心列表是类型是什么
- 混合类型——Python列表是
-
处理列表数据
-
使用
for
while
处理迭代结构 -
问答:Python中单引号和双引号的区别——>单引号双引号都可以用来创建字符串,但是注意,字符串后面不能不能混合使用字符串
movie = ["nihao",'wrong writing']
-
-
在列表中存储列表
- 访问时按照下标进行访问
- for 循环如何处理嵌套列表?
- 使用 内置的
isinstance()
函数
- 使用 内置的
- Python 3中内置了70多种BIF(build in function)函数
- 查看方法[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9Ygo8LEt-1610447790550)(photo/builtin-内置函数.png)]
-
复杂数据很难处理
-
处理多层嵌套列表
-
如果是嵌套列表再嵌套的话,应该如何遍历迭代?
不重复代码:创建一个函数——把重复代码变成一个函数
解决之道:递归
-
-
-
-
Linux 安装 python 参考
chapter2
函数转换为模块
Python包索引(Python Package Index,PyPI)为Internet上的第三方Python模块提供了一个集中的存储库
注释
:使用三个双引号表示
准备发布
-
把函数保存为py文件
-
为模板创建一个文件夹
-
新文件夹中创建一个名为“setup.py"的文件
from distutils.core import setup setup( name='comewei', version='1.0.0', py_modules=['nester'], author='laixxxxxi', author_email='xxxxxlai@gmail.com', url='http://www.headfirstlabs.com', description='diss' )
构建发布
构建发布文件
python3 setup.py sdist
将发布安装到你的Python本地副本中
python3 setup.py install
发布速览
导入模块
import nester
cast = ["laixxxx",1002]
print_lol(cast)
在程序中,导入模块后可以运行。但是,在IDLE的编辑窗口不能运行
Python 的模块实现命名空间
定义命名空间,从而使得python可以找到目标函数
如果我们使用
# 不用进行命名限定即可使用print_lol()函数,但是其会覆盖我们自定义print_lol()函数
from nester import print_lol
Python共享代码
共享模块:如果出现需要修改的功能和兼容之前的功能——>使用额外的参数控制行为
写代码之前,先考虑BIF。避免重复造轮子
range()BIF迭代固定次数
BIF不在在__main__命名空间,它们有自己独特的命名空间为__builtins__
Python会尽力运行代码
和编译型语言不同,Python在运行不全面检查代码的合法性。这样可以带来很多好处,比如运行时动态定义函数
,也会带来很多弊端,比如传统静态类型的编译型语言捕获和标志的"错误"
使用可选参数——兼容之前版本
为函数提供一个缺省值
chapter3
元组与列表的差别(元组即为不可变列表)
open() readline() close() split() find() pass使用
chapter4
持久化存储:基于内存的数据存储到磁盘中
strip()除去字符串不想要的空白符
Python变量赋数据、实际上变量并不包含所赋的数据
locals() BIF 会返回当前作用域中定义的所有名集合
str() BIF 把异常对象强制转换为字符串
with 代替 finally
sys.stdout是Python中所谓的"标准输出",可以从标准库的sys模块访问
in操作符 用于 检查成员关系
chapter5
教员成绩统计——>数据处理——>列表推导——>列表分片——>迭代删除重复项——>使用set()工厂函数
chapter6
键与值(使用字典关联数据)
字典(内置的数据结构,允许将数据与键而不是数字关联)
映射、散列、关联数组——字典(可以动态扩大)
#创建 字典
palin = {'Name':'Laxingwei','Significant-day':[2,3,4]}
x={}
y=dict()
与列表不同,Python字典不会维持插入的顺序,这会导致一些意外的行为。但是字典的重点并不在顺序
修改教练成绩,使用字典表示 ——> 代码冗余——>加入函数处理——>数据与代码关联——>定义一个类——>添加类方法
# 使用class定义类
class Athlete:
def __init__(self):
self的重要性
# 目标标识符赋至self参数,方法是共享的,而属性不共享
类继承
# 继承list
class NamedList(list):
def __init__(self,a_name):
list.__init__([])
self.name = a_name
语法记录
min =[1, 2, 3, 4]
# 列表推导 遍历 min,对min每一个元素乘以60并返回sec
sec = [m*60 for m in min]
# 列表分片 去前三元素
min[0:3]
# range() 函数使用
for i in range(4)
# split()按照符号分类
# strip()表示去除空格
data.strip().split(',')
# 异常处理
try:
except:
finally:
#如果是打开文件,上述的finally中的close()代码可以替换为Tab
try:
with open('xxxx') as xx:
xxxx
except:
# 字典中使用.keys() .values() 获得键与值