Python基础
2017-08-25 16:37:50 2 举报
AI智能生成
python基础知识的一些整理与汇总
作者其他创作
大纲/内容
python
函数
why
最大化代码重用
最小化代码冗余
过程分解
定义
def 函数名(参数1,...): 函数体
调用
函数名(实际参数)
变量作用域
Built-in
Global
global
Enclousure
nonlocal
Local
参数
传递
不可变类型
传递副本给函数,函数内操作不影响原始值
可变类型(列表、字典)
传递地址引用,函数内操作可能影响原始值
匹配
位置匹配
关键字匹配
默认值(调用时省略传值)
*args 任意数量参数
**kwargs
lambda 表达式
定义匿名函数
基本格式
lambda 参数1,...:函数体
高级工具
map(函数,可迭代对象)
filter(函数,可迭代对象)
包与模块管理
模块
import
from
包
代码重用
命名空间
实现数据或服务共享
步骤
1.找到模块文件
2.编译为字节码
3.运行模块文件
搜索范围
1.程序主目录
2.环境变量
3.标准库
4.扩展库
面向对象
OOA 面向对象的分析
OOD 面向对象的设计
OOP 面向对象的编程
实现
1.分析对象特征行为
2.写类描述对象模板
3.实例化,描述过程
特征
封装
继承
多态
异常处理
错误类型
语法错误
语义错误
逻辑错误
try: 可能出现异常的代码
except 异常类型 as 实例: 捕获特定异常
finally: 不论是否遇到异常均会执行
else: 未遭遇异常
raise: 手动抛出异常
单元测试
测试级别
对代码最基本单元(函数,方法)的测试
给予特定条件判断结果是否符合预期
相对整个程序的测试,单元测试简化了测试任务
unittest 模块
集成测试
系统测试
验收测试
回归测试
代码组织
断言
计算机 常识
计算机
概念
储存和计算处理的电子设备
硬件
CPU
运算器
控制器
储存器
内部储存设备
外部储存设备
输入设备
键盘
鼠标
扫描仪
摄像头
......
输出设备
电子屏幕
打印机
通信设备
无线路由器
软件
系统软件
应用软件
计算机编程语言
机器语言
汇编语言
高级语言
编译类
C
C++
VB
解释类
Python
C#
java
脚本语言
二进制
整数储存与换算
数据单位
bit 比特位
1 Byte = 8 bit
1 KB = 1024 Byte
1 MB = 1024 KB
1 GB = 1024 MB
1 TB = 1024 GB
Python 概览
软件质量
开发效率
可移植性
库支持丰富
组件集成
劣势
运行效率
哪些公司在用?
Google
YouTube
搜狐邮箱
知乎
能做什么?
系统编程
GUI
网络脚本
Web
Python 运行
交互式提示符
IDLE
Windows命令提示符
Py
SublimeText Console(自带Python解释器)
脚本方式
编写脚本代码,保存为\".py
命令提示符, Python\".py
注:Python\".py result.text
Python 变量、类型及储存
概念层级
程序
语句
表达式:创建、处理对象
变量
创建:第一次赋值时生成
规则
包含字母、数字、下划线
只能以字母、下划线开头
不能有空格
避免Python关键字或函数名
简短且有描述性
区分0,o,1,l
类型
变量无类型约束
类型取决于关联对象
使用
垃圾回收
Python自动释放未被引用的对象
内部原理,依据对象引用计数机统计的数值
共享引用—多个变量引用一个对象
判断字面值是否相等: ==
判断地址是否相同:id
256以下整数,已被Python缓存
对象类型
核心数据类型
数字
int
float
Decimal
Fraction
...
字符串(str)
列表(list)
字典表(dict)
元组(tuple)
文件(file)
集合(set)
布尔(Boolean)
true
false
空(None)
程序单元
函数:function
类:class
Python 数据类型
数值
声明、赋值、使用
表达式
显示
\"{0:.2f}\".format(3.333333)
比较:返还布尔类型的结果:True,False
=
==
!=
相除
/
//
取整
math.floor()往左
math.trunc()往0
round()四舍五入
整形
无限精度,仅受限于内存与计算机配置
十六进制、八进制、二进制
字面值
0x 16进制
0o 8进制
0b 2进制
转换
hex() 16进制
oct() 8进制
bin() 2进制
布尔型
字符串
声明
' ... '
\" ... \"
''' ## '''
转义符
\\
\\'
\\''
\ 换行(回车)
\\b 退格(删除)
\\t Tab
忽略转义符
r' ... '
基本操作
替换
切割
.split()
找开头
.startswith
找结尾
.endswith
寻找
.find()
列表 list
任意对象的有序集合
通过索引下标访问元素
可变长度
属于可变序列
常用操作
.append()
追加一个元素
.extend()
扩展一个列表
.sort()
排序(支持原位改变,不能也无需赋值
.reverse()
反向排序
.index()
寻找位置
.count()
统计元素的数量
注意:引用类型,支持原位改变
拷贝副本
[:]
.copy()
字典表 dict
{键:值,...}
dict(键=‘值’)
操作
获取
d['键']
合并
d.update(d2)
属性
keys()
看键
values()
看值
items()
都看
排序键
把keys()放入列表
使用全局函数sorted()
元组 tuple
通过下标访问
属“不可变”类型
长度固定、任意类型、任意嵌套
(元素,)
.index(val) 查找索引
.count(val) 统计数量
namedtuple
文件
基本语法
file = open(‘文件名’,mode)
mode
r
w
a
b
写二进制
+
read()
readline()
readlines()
close()
pickle库 存取python对象(二进制保存法)
dump(对象,目标文件)
load(文件)
汇总
集合
序列
可变
不可变
字符串 str
映射
字典表 dict
set
boolean
浮点型
可调用
函数 function
生成器 Generator
类 class
方法
其他
None
视图
内部
Type
语句与表达式
代码风格
代码格式指南
PEP8
缩进4个空格
一行不超过79行
注意空行(函数与函数隔2行)
赋值语句
基本方法
序列赋值
扩展序列解包赋值
*变量(获取剩余元素到list)
多目标赋值
a = b = 0
参数化赋值
函数调用
方法调用
打印操作
print()
sep=‘分割符’
end=‘终止符’
file=指定文件
流程控制
if...语句
一般格式
多重分支
三元运算符
a = Y if X size Z
while循环
break
continue
pass
else
for循环
range()
enumerate()
子主题
迭代
迭代协议
__next__()
迭代工具 for ... 推导 ... map ...
迭代器对象
已经实现
可迭代对象
iter()-> __iter__() 用于生成迭代器
内置可迭代对象
0 条评论
回复 删除
下一页