简介
安装
Hello World
|
|
运行
输入输出
|
|
Python基础
代码块
当语句以冒号:结尾时,缩进的语句视为代码块
数据类型和变量
整数
浮点
字符串
|
|
布尔值
值采用大写: True , False , 可以用and、or 和 not 运算。
空值
用 none 表示。
变量
变量名必须是大小写英文、数字和_的组合,且不能用数字开头、
常量
在Python中,通常用全部大写的变量名表示常量,
除法运算
字符串和编码
在最新的Python 3版本中,字符串是以Unicode编码的
对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符:
由于Python的字符串类型是str,在内存中以Unicode表示,一个字符对应若干个字节。如果要在网络上传输,或者保存到磁盘上,就需要把str变为以字节为单位的bytes。
Python对bytes类型的数据用带b前缀的单引号或双引号表示:
|
|
.py 文件头部,
第一行注释是为了告诉Linux/OS X系统,这是一个Python可执行程序,Windows系统会忽略这个注释;
第二行注释是为了告诉Python解释器,按照UTF-8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。
格式化
|
|
运算符 | 含义 |
---|---|
%d | 10进制整数 |
%f | 浮点数 |
%s | 字符串 |
%x | 16进制整数 |
指定是否补0和整数与小数的位数
转意,用%%来表示一个%。
使用list和tuple
list
|
|
追加元素 append
添加元素 insert
删除元素
tuple
另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改,比如同样是列出同学的名字:
只有一个元素
混合使用
条件判断
|
|
数据类型转换函数
int(),float(),str()
循环
|
|
range 生成整数数列
while 用法
break
continue
使用dict和set
dict
Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。
通过in判断key是否存在:
通过get获取键值
用pop(key) 删除
set
set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key
add(key) 和 remove(key)
再议不可变对象
list 可变对象
str 不可变对象
函数
定义函数
|
|
如果没有return语句,函数执行完毕后也会返回结果,只是结果为None。
return None可以简写为return。
默认参数
当函数有多个参数时,把变化大的参数放前面,变化小的参数放后面。变化小的参数就可以作为默认参数。
|
|
可变参数
|
|
list 和 tuple 作为参数传人
关键字参数
|
|
命名关键字参数
|
|
如果函数定义中已经有了一个可变参数,后面跟着的命名关键字参数就不再需要一个特殊分隔符*了:
参数组合
|
|
测试
|
|
递归函数
|
|
计算过程
fact(1000) 会报堆栈溢出错误,一般可以使用尾递归来解决,尾递归最终会被转变成循环,python 默认并不提供尾递归,开发时候可以用循环替代。
或者用其他方法实现尾递归。
一个很酷的Python尾递归优化