Python特点
- 简单、易学
- Python既支持面向过程的编程,也支持面向对象的编程
- 灵活的解释运行方式(可移植性【Python 会被编译成与操作系统相关的二进制代码,然后再解释执行。这种方式和
java 类似,大大提高了执行速度,也实现了跨平台。】、安全性、灵活性) - 强类型、动态语言类型
- 免费、开源、开放
- 丰富的库(丰富的标准库, 多种多样的扩展库)
- 可扩展性。 可嵌入到 C 和 C++语言。 胶水式语
Python的数值对象类型
类型分类 | 类型名称 | 描述 | 示例 |
---|---|---|---|
none | none | 空对象 | |
数字 | int | 整数 | 123 |
float | 浮点型 | 12.3、1.2345e+5 | |
complex | 复数 | (1.23,5.67j) | |
bool | 布尔值 | True、False | |
序列 | str | 字符串 | 'abc'、''abc''、'''abc'''、''123'' |
list | 列表 | [1,2,3]、list[1,2,3] | |
tuple | 元组 | (1,2,'3','4')、tuple("123") | |
映射 | dic | 字典 | {'name':'Micheal','age':18} |
集合 | set | 可变集合 | set([1,2,3]) |
frozenset | 不可变集合 | frozenset([1,2,3]) |
-
整数(int)类型
1)十进制:0~9 十个数字符号和+、- 两个正负号表示数值
2)二进制:0~1 (0b、0B是二进制的标志符号)
3)八进制:0~7 (0o、0O是八进制的标志符号)
4)十六进制:0 ~ 9、A ~ F、a ~ f (0x、0X是十六进制的标志符号) -
浮点(float)类型
1)小数方式:print(1.23) # 1.23
2)科学计数法:print(2e3) # 2000.0
-
复数(complex)类型
复数的完整结构(实数部分+虚数部分)
1) 变量 = 实数 + 虚数,虚部以j
或J
结尾。 如:var = 3 + 2j
2) 变量 = complex(实数,虚数值) ,用complex内置函数 。如:var = complex(5,3)
print(2+3j)
print(5j)
print(complex(0,7))
print(complex(,6)) # 错误, 使用函数complex()创建复数对象时,实部不可以省略
Decimal 和 Fraction
- Decimal 类型
它是对float类型的扩展,以弥补因存储数值空间有限而引起的浮点数精确性不足。
0.1 + 0.1 + 0.1 - 0.3 # 结果 5.551115123125783e-17
# 解决:Decimal可以避免精度不足引起的尴尬
from decimal import Decimal # 导入Decimal
Decimal('0.1') + Decimal('0.1') + Decimal('0.1') - Decimal('0.3') # 结果 0
Decimal的优势是它可以控制精度,控制舍入以适应规定要求,确保十进制数位精度
import decimal
a = decimal.Decimal(1)/decimal.Decimal(7) # 不设置精度的计算
print(a)
decimal.getcontext().prec = 50 # 设置精度为小数后50位
b = decimal.Decimal(1)/decimal.Decimal(7) # 不设置精度的计算
print(b)
getcontext()是decimal模块的一个成员,可以用来获得或改变当前背景
from decimal import *
getcontext()
- Fraction类型:
Fraction(分数)类型可用于创建一个有理数对象,明确地保留一个分子和分母。
from fractions import Fraction
Fraction(2,3)
Fraction(2,3) - Fraction(1,2) # 两个分数相减 = Fraction(1, 6)
Python数据对象、变量、赋值
- Python数据对象
- 不可变对象(mutable): int、字符串(string)、float、数值型(number)、元组(tuple)
- 可变对象(immutable):列表(list)、字典(dictionary)
可以用 id(对象)
来查看对象的标识(地址),用内置函数type(对象)
来查看对象指向的类型
- Python变量与赋值操作
- 简单赋值 。 如: a = 3
- 多变量赋值。如:a,b = 3,4
- 多目标赋值。如:a = b = 3 (赋值操作符具有右结合性,所以等价于 a = (b = 3)。)
- 删除变量:
del 变量名
。如:del a,b