Python 基础
初识Python
Python特性
- 可读性强:能快速上手学习
- 简洁:实现同样的功能,代码量可能只有其他语言的一半不到
- 高级语言:无需考虑内存问题
- 可移植性强:程序不用修改就可以在大多数平台上面运行
- 解释型语言:无需编译,直接解释源代码运行
- 面向对象:既支持面向过程编程,又支持面向对象编程
- 扩展性强:其他语言编写的算法,直接在Python中调用
- 嵌入性强:Python可以嵌入其他语言中
- 丰富的扩展库:很多复杂的功能无需自己实现直接使用即可
- 动态性:所有的对象都能动态创建
Python解释器
Python 程序的执行依赖于 Python 解释器。常用的 Python 解释器有:
- CPython
- 使用 c 语言实现的解释器,最常用的解释器。通常说的解释器指的就是它
- Jython
- 使用 java 语言实现的解释器。Jython 可以直接调用 java 类库,适合在 java 平台上开发
- IronPython
- .NET 平台上使用的解释器。可直接调用.NET 平台的类,适合.NET 平台上开发
- PyPy
- 使用 Python 语言实现的解释器
注释、缩进和行连接符
- 逻辑行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而用来决定语句 的分组
- 语句从新行的第一列开始
- 每个缩进层次使用单个制表符或四个空格
- Python 用缩进而不是{}表示程序块
- Python 区分大小写
- Python 中的注释只有单行注释,使用#开始知道行结束的部分
- 使用三个连续单引号当做段注释,实际上是字符串未引用
- 行连接符:\
标识符
- 用于变量、函数、类、模块等的名称
- 区分大小写
- 第一个字符必须是字母、下划线。其后的字符是:字母、数字、下划线
- 不能使用关键字
- 以双下划线开头和结尾的名称通常有特殊含义,尽量避免这种写法。比如:__init__是类的构造函数
- 命名规则
类型 | 规则 | 例子 |
---|---|---|
模块和包名 | 全小写,多个单词用下划线 | math,os,sys |
函数名 | 全小写,多个单词用下划线 | sum,run |
类名 | 首字母大写,驼峰原则,每个单词首字母大写 | Person,MyClass |
变量名 | 全小写 | a,b |
常量名(实际没有常量,只是命名是约定俗成当成常量) | 全大写,多个单词下划线分隔 | BIRTH_DATE |
关键字
help> keywords
Here is a list of the Python keywords. Enter any keyword to get more help.
False class from or
None continue global pass
True def if raise
and del import return
as elif in try
assert else is while
async except lambda with
await finally nonlocal yield
break for not
变量和赋值
my_var = 123
print(my_var) #123
del my_var #删除变量
#若对象没有变量引用,就会被垃圾回收器回收,清理内存
#链式赋值
x=y=123
print(x,y) #123 123
#系列解包赋值
a,b,c = 1,2,3
print(a,b,c) #1 2 3
#利用系列解包赋值交换变量的值
a,b = b,a
print(a,b) #2 1
数据类型和运算符
整数类型
- Python 中,除 10 进制,还有其他三种进制:
- 0b或0B,二进制,0 1
- 0o或0O,八进制,0 1 2 3 4 5 6 7
- 0x或0X,十六进制,0 1 2 3 4 5 6 7 8 9 a b c d e f
print(3) #3
print(0b101) #5
print(0o74) #60
print(0x07) #7
#int()实现类型转换
#浮点类型舍掉小数点
print(int(3.14)) #3
#布尔类型:True转为1 False转为0
print(int(True)) #1
print(int(False)) #0
#字符串类型:数字字符串直接转对应int类型,含有非数字则报错
print(int("3")) #3
#print(int("3.14")) #报错
#在python2中 int 是 32 位,可以存储从-2147483648 到 2147483647 的整数,Long 类型是 64 位,可以存储:-2^63--2^63-1 之间的数值
#在python3中 int 可以存储任意大小的整数,long 被取消
#在Python3 中可以做超大数的计算,而不会造成“整数溢出”,这也是 Python 特别适 合科学运算的特点
#10的1000次方是个整数
print(type(10**1000)) #<class 'int'>
浮点数类型
- 浮点数类型,称为 float
- 用科学计数法表示,比如:3.14,表示成:314E-2 或者 314e-2
- 这些数字在内存中也是按照科学计数法存储
print(3.14) #3.14
print(314e-2) #3.14
print(314E-2) #3.14
#float()实现类型转换
#整型添加小数点
print(float(3)) #3.0
#布尔类型:True转为1.0 False转为0.0
print(float(True)) #1.0
print(float(False)) #0.0
#字符串类型:数字字符串直接转对应float类型,含有非数值则报错
print(float("3")) #3.0
print(float("3.14")) #3.14
#print(float("你好")) #报错
#round()四舍五入,不会改变原来的值,而是返回新创建的值
a = 3.14
#默认到整
b = round(a)
print(a,b) #3.14 3
#参数可以指定四舍五入到小数点几位
print(round(3.14,1))