Python基础二
内置数据结构
- 数值型
- int在python中就是长整型,没有大小限制
- float由整数和小数部分组成,只有双精度型
- complex由实数和虚数部分,实、虚部都是浮点数
- bool是int的子类,仅有2个实例,Ture、False对应1、0
- 类型转换
int(x)int(str)只能是数字int(bool)True1,False 0
str(x)str(int)任意数字都可以转换成字符串str(bool)无意义
bool(x)bool(int)非0即Ture,0是Falsebool(str)空字符串为True
float(x)complex(x)、complex(x,y)
- 数字处理的函数
round()四舍六入,五取偶int()取整,和//整除一样floor()取小、ceil()取大import math
- 类型判断
type(obj)返回类型,不是字符串isinstance(obj,clsaa_or_tuple)返回布尔值type(1+True+2.0)隐式转换
随机数
- random模块
.randint(a,b)返回[a,b]之间的整数.choice(seq)从非空序列的元素中随机挑选一个元素.randrange([start,] stop[,step])从指定范围内按指定基数递增的集合中获取一个随机数,基数的缺省值为1random.shuffle(list)就地打乱列表元素
切片
- 通过索引区间访问线性结构的一段数据
sequence[start:stop]返回[start:stop)区间的子序列- 支持负索引
- start为0可省略,stop为0表示末尾
- 超上界(右边界)就取到末尾,超下界取开头
[:]从头到尾全部元素被取出,等效于copy()方法- 步长切片
[start:stop:step]- step为步长,可以是正负整数,默认为1
- step要和star:stop同向,否则返回空序列
封装和解构
-
封装
-
将多个值使用逗号分割,组合在一起
-
本质上返回一个元组,只是省略了小括号
-
python特有语法,被很多语言学习借鉴
-
举例:
t1 = (1,2) #定义元组 t2 = 1,2 #将1,2封装成元组 type(t2) #tuple
-
-
解构
-
把线性结构的元素解开,并顺序赋值给其他变量
-
左边接纳的变量要和右边解开的元素个数一致
-
举例:
lst = [3,5] a,b = lst
-
-
丢弃变量
- 是一个惯例、一个约定,不是标准
- 如果不关心一个变量,就可以定义该变量为
- _是一个合法的标识符,也可作为一个有效变量使用,但是定义下划线就是希望不被使用,除非明确知道这个数据需要使用
- _python有很多库,都使用这个变量,不要在不明确变量作用域的情况下使用,导致和库中_冲突
内建函数
- 标识
id()- 返回对象的唯一标识,Cpython返回内存地址
- 哈希
hash() - 类型
type() - 类型转换
float()、 int() 、bin() 、hex() 、oct() 、bool() 、list() 、tuple()、 dict()、 set() 、complex() 、bytes()、bytearray()
- 输入
input([prompt]) - *打印
print(*objects,sep='',end='\n',file=sys.stdout,flush=False)- 打印输出,默认使用空格分割、换行结尾,输出到控制台
- 对象长度
len() isinstance(obj,class_or_tuple)- 判断对象obj是否属于某种类型或者元组中列出的某个类型
- 举例:
isinstance(True,int)
issubclass(cls,class_or_tuple)- 判断类型cls是否属于某种类型的子类或者元组中列出的某个类型的子类
- 举例:
issubclass(bool,int)
- 绝对值
abs(x) max()、min()- 返回可迭代对象(多个参数)中的最大或最小值
round(x)pow(x,y)- 等价于
x**y
- 等价于
range(stop)divmod(x,y)- 等价于
tuple(x//y,x%y)
- 等价于
sum(iterable[,start])- 对可迭代对象的所有数值元素求和
chr(i)ord(c)str()repr()ascii()

浙公网安备 33010602011771号