- 安装(MAC)
- 直接运行:
brew install python3
- 输入:python3 --version,查看验证安装是否成功 (一定是python3)
- 直接运行:
- Python解释器
- CPython
- 官网下载的安装包中,会自带此解释器。也是使用最多的解释器。使用C编写的解释器
- 在CPython的基础上增强了交互的解释器,执行Python代码与CPython一致。
- PyPy
- 使用JIT技术,对Python进行动态编译,从而提升Python的执行速度。
- Jython
- 运行在Java平台上的Python解释器,把Python编译成Java的字节码
- IronPython
- 运行与.net平台上的Python解释器,把Python编译成.net的字节码
IPython使用
- CPython
- 编写第一个Python程序且运行Python程序
- 新建一个文件“hello.py”,内容(建议使用工具:Sublime Text、Notepad++):
print('Hello,world!')
- 控制台中进入此文件目录,输入:python3 hello.py
- python3 hello.py:支持Cpython解释器来直接执行hello.py中的源代码文件
- Python基础
- 数据类型
- 整数:Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样。如:1,-1,0,999999
- 浮点数:小数,支持科学计数法,支持任意大小的值。如:1.0,5.0,-1.9,5.1e2
- 字符串:使用单引号、双引号括起来的任意文本。若文本中仍需要单引号或双引号时,可使用转义字符"\"如:'a',"123aaa",'a\'b\''(要表达的字符串:a'b')
- 布尔值:一个布尔值是有True、False两种值,注意大小写。
- 空值:None,与0(数字)是不同的,0是有意义的,None是特殊的空值的。
- 变量
- 由大小写英文、数字或下划线组成,不能以数字开头。如:a12,_a2,a_1123,123a(非法)
- 变量在赋值后,类型不可变更,但值可随意变更
- 常量
- 建议命名全部使用大写字母。如:PI=3.1415926
- 占位符
%d 整数 %s 字符串 %f 浮点数 %x 10进制整数
- 列表
- list:有序集合,如listT=['AAA','BBB','CCC']
- 获取列表中元素个数len(),如:len(listT)-->3
- 直接使用索引,来获取列表中的指定元素内容。从0开始,最后一个元素的索引为总元素个数减1。如:listT[0]-->'AAA',listT[1]-->'BBB'
- 可使用倒数索引。如:listT[-1]-->'CCC',listT[-2]-->'BBB'
- 添加元素,自动追加到未尾append(value)。如:listT.append('DDD'),结果为listT[3]-->'DDD'
- 指定位置添加元素,insert(index,value)。如:listT.insert(1,'insert'),结果为:listT[1]-->'insert',listT[2]-->'BBB'
- 删除未尾元素,pop()。如:list.pop(),结果为listT中的'DDD'元素被删除,listT的长度减1
- 可直接给指定元素赋值或变更值内容。如:listT[0]='BBB',结果为listT的第一个元素变为'BBB'
- 列表中的元素类型可为多种类型,列表中的元素也可为列表(多层嵌套,多维列表)
- 元组
- tuple:元组初始化之后不可修改。如tupleT=('Jack','Leon',"Mike")
- 没有append()、insert()方法,
- 字典
- dict:使用键-值(key-value)存储,具有极快的查找速度。如:
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
- 获取字典中的值。如:d['Michael']-->95
- 给字典中的键重新赋值。如:d['Michael']=100,结果为d['Michael']-->100
- 删除字典中的指定键及值(一并删除),pop('key')。如:d.pop('Bob'),结果为d字典中的d['Michael']=75被删除,仅剩2个键值对
- dict:使用键-值(key-value)存储,具有极快的查找速度。如:
- set
- 数学意义上的无序和无重复元素的集合
- 条件判断
if <条件判断1>:
<执行1>
elif <条件判断2>:
<执行2>
elif <条件判断3>:
<执行3>
else:
<执行4>- 注意:每个判断后都需要有冒号“:”
- 循环
- for...in ...
- 依次把list或tuple中的每个元素迭代出来
names = ['Michael', 'Bob', 'Tracy']
for name in names:
print(name)
- while...
- 只要条件满足,就不断循环,条件不满足时退出循环
sum = 0
n = 99
while n > 0:
sum = sum + n
n = n - 2
print(sum)
- for...in ...
- 数据类型
- 函数
- 函数名、参数、返回值
- 默认参数:在不传递参数时,会有默认值
- 参数
- 可变参数:
*args
是可变参数,args接收的是一个tuple - 关键字参数:
**kw
是关键字参数,kw接收的是一个dict
- 可变参数:
- 一个函数可同时返回多个返回值
import math def move(x, y, step, angle=0):
nx = x + step * math.cos(angle)
ny = y - step * math.sin(angle)
return nx, ny