一、数据类型
1 整数类型 int
2 浮点数类型 float
3 复数类型
二、字符串类型
1 字符串类型
2 字节串类型(很少用到)
三、组合类型
1 集合类型:一维数组的集合
2 元组类型(序列)
3 列表类型(序列)
4 字典类型
二.数学相关函数
1.math模块:使用math模块,需要先引入:import math
import math
print(math.e) #2.718281828459045
math模块常用方法:
import math
print(math.e) #2.718281828459045
print(math.pi) #3.141592653589793
print(math.log(8,2)) #3.0
'第二个参数没有则默认为e'
print(math.pow(2,3)) #8.0
print(math.sqrt(4)) #2.0
print(math.fabs(-1)) #1.0
print(math.sin(1/2*math.pi)) #1.0
ceil():属于math库,返回小数的天花板整数
import math
print(math.ceil(2.3)) #3
2.其他函数(内置函数)
print(round(2.92,1)) #2.9
'''round是内置函数,不用加math'''
'''round(x,n):返回浮点数x的四舍五入值,n代表舍入到小数点后的位数'''
print(divmod(8,5)) #(1, 3)
'''divmod是内置函数,不用加math'''
'''divmod(x,y):返回x和y的商和余数'''
三.错误类型:
1.SyntaxError【语法】错误
2.NameError【变量名】错误:使用未定义的变量时触发。
3.IndexError【索引】错误:序列中没有此索引
4.KeyError【键】错误:映射中没有这个键
5.FileNotFoundError【文件没找到】错误
6.ZeroDivisionError【除数为0】错误
7.UnboundLocalError【全局变量为申明在函数内部修改】错误
8.AttributeError【xxx1对象没有属性叫xxx2】错误
9.UnicodeDecodeError【文件解码】错误
10.OSError 【操作系统】错误
11.ValueError 【参数】错误:传入无效参数
12.EOFError:【输入】错误:当无数据可读但尝试读取时触发,常在input()函数无输入结束时出现。
详见CSDN收藏
四.序列(列表,字符串,元组,集合,字典)
1.序列的序号即可以从左向右以0开始依次增加,也可以从右向左以 -1开始依次减少,因此通过的序号访问序列中的元素,同一个元素可以有两个序号。
2.只有列表,字符串,元组能相加,数乘
3.列表,字符串,元组支持索引访问(也可以用负数索引访问,即双向索引)
,集合与字典不支持索引访问(字典可以用a[键名]访问)
str = '123'
a = ['a','b','c']
b = ('q','b','v')
c = {'5','6','7'}
z = {1:'a',2:'b',3:'c'}
print(str[1]) #2
print(a[1]) #b
print(b[1]) #b
#print(c[1]) 不支持索引访问
#print(z(1)) 不支持索引访问
4.
有序序列有:列表,字符串,元组
无序序列有:集合,字典
可变序列有:列表、集合,字典
不可变序列有:字符串、元组
5.可变对象与不可变对象
对象可变性:在Python中,每个变量都是一个对象,每个对象都具有其创建后是否允许修改的属性,这种特性称为对象的可变性。它影响对象在传递给函数、用于表达式或存储在数据结构中时的行为
可变对象:创建后可以改变的对象。例子包括列表、字典、集合和用户定义的对象。
不可变对象(字典的键必须是不可变对象,集合的元素是不可变对象):一旦创建后不允许被修改的对象。例子包括整数、浮点数、字符串、元组。
6.len()
列表,字符串,元组,集合,字典都可以使用
7.max(),min()
列表,字符串,元组,集合,字典都可以使用
a = [1,2,3]
b = 'Aa'
c = (1,2,3)
d = {1,2,3}
e = {1:'a',2:'b',3:'c'}
print(max(a)) #3
print(max(b)) #a
print(max(c)) #3
print(max(d)) #3
print(max(e)) #3
a = [1,2,3]
b = 'Aa'
c = (1,2,3)
d = {1,2,3}
e = {1:'a',2:'b',3:'c'}
print(min(a)) #1
print(min(b)) #A
print(min(c)) #1
print(min(d)) #1
print(min(e)) #1
8.sum()
除了字符串以外都可以用
a = [1,2,3]
c = (1,2,3)
d = {1,2,3}
e = {1:'a',2:'b',3:'c'}
print(sum(a)) #6
print(sum(c)) #6
print(sum(d)) #6
print(sum(e)) #6
9.remove()
列表可以用,其他还没试
a = [1,2,3,3]
a.remove(3)
print(a) #[1, 2, 3]
10.in运算符
列表,字符串,元组,集合,字典都可以用
a = {1:'a',2:'b',3:'c'}
if 1 in a:
print('y')
else:
print('n')
11.字符串的方法join()
列表,字符串,元组,集合,字典都可以用
print(":". join("abcde")) #a:b:c:d:e
print(":".join(['1','2','3'])) #1:2:3
print(":".join(('1','2','3'))) #1:2:3
print(":".join({'1','2','3'})) #3:2:1 或者 3:1:2 或者 1:2:3
print(":".join({'1':'a','2':'b'})) #1:2
12.find(),title()
字符串的方法find(),其他序列均没有,返回子串在原字符串第一次出现的位置
s = 'this is ok'
print(s.find('is')) #找到,返回2
print(s.find('u')) #没找到,返回-1
字符串的方法title,其他序列均没有,将字符串首字母变为大写
a = 'abc'
print(a.title()) #Abc
13.strip()
字符串的strip方法的作用是删除字符串首尾指定的字符,其他序列都没有
14.'-'(减)操作
只有集合可以
a = {1,2,3}
b = {1,2,}
print(a - b) #{3}
15.列表的方法,append(),只有列表有,在列表末尾增加元素
a = [1,2]
a.append(3)
print(a) #[1, 2, 3]
字典增加新元素的方法:a[键] = 值
16.字符串转换为列表,元组,集合,字典
#字符串转列表
a = "[1,2]"
print(type(a))
b = eval(a)
print(type(b))
print(b)
#字符串转元组
a = "([1,2], [3,4], [5,6], [7,8], (9,0))"
print(type(a))
b=eval(a)
print(type(b))
print(b)
#字符串转集合
a = "{1,2}"
print(type(a))
b = eval(a)
print(type(b))
print(b)
#字符串转字典
a = "{1: 'a', 2: 'b'}"
print(type(a))
b = eval(a)
print(type(b))
print(b)
17.切片操作
列表,元组,字符串有切片操作,集合与字典无切片操作
a = [1,2,3]
b = "123"
c = (1,2,3)
d = {1,2,3}
e = {1:'a',2:'b',3:'c'}
print(a[:1]) #[1]
print(b[:1]) #1
print(c[:1]) #(1,)
18.内含数据类型
列表与元组可以包含不同的数据类型
19.空序列的创建
a = []
b = ''
c = ()
d = set() #创建一个空集合
e = {} #创建一个空字典
print(a,b,c,d,e)
#[] () set() {}
20.sorted()
列表,元组,字符串,集合,字典都可以
a = [1,2,3]
b = '123'
c = (1,2,3)
d = {1,2,3}
e = {1:'a',2:'b',3:'c'}
print(sorted(a,reverse = 1)) #不加reverse默认升序,reverse = True为降序
print(sorted(b,reverse = 1))
print(sorted(c,reverse = 1))
print(sorted(d,reverse = 1))
print(sorted(e,reverse = 1))
#sorted 可以对所有可迭代的对象进行排序操作
#sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作
五.格式化输出
1.format
print("{:<8s}{}".format('qwe','asd')) #qwe asd
print("{:<8d}{}".format(23,12)) #23 12
print("{:<8.2f}{}".format(2.532,23)) #2.53 23
print("{:x>8.2f}".format(1.345)) #xxxx1.34
#<左对齐
#>右对齐
#: 号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充。
#从左往右:负(填充符)向(对齐方向)站(占几格)位(保留几位小数)
2.占位符%
name = '周杰伦'
age = 28
print("大家好,我是%s" % name) #大家好,我是周杰伦
print("大家好,我是%s,今年%d岁" % (name, age)) #大家好,我是周杰伦,今年28岁
六.运算符
%:取余数
**:x**y表示x的y次方
//:返回商的整数部分
七.range()与切片
for i in range(1,5,1):
print(i)
#1
#2
#3
#4
for i in range(5,1,-1):
print(i)
#5
#4
#3
#2
#结论:打印起点(包括起点)与终点之间的内容,终点无法打印
print(range(5)) #range(0, 5)
#结论:range()无法打印
range(起点(0),终点,步幅(1)) 包含起点,不包含终点
切片[起点(0):终点(len):步幅(1)] 包含起点,不包含终点 起点与终点本质上是索引
#只有一个数:默认为终点
for i in range(3):
print(i)
#0
#1
#2
#2个数:默认为起点与终点
for i in range(1,3):
print(i)
#1
#2
#两个数:默认为起点与终点
a = [1,2,3]
print(a[1:3])
#一个数
a = [1,2,3,4]
print(a[:-2]) #[1, 2]
八.continue与break(break语句只作用于语句所在层循环)
在循环中continue语句的作用是
退出循环的当前迭代
(结束本次循环)
(跳过循环体中剩余的语句并到循环末尾而强行执行下一次循环)
在循环中break语句的作用是
结束整个循环的执行
跳出当前循环
九.进制简写
box(2,8,16)
十.查询类的方法,查询模块的方法,查询关键字
1.查询类的方法
eg:查询列表的方法,dir(list)
2.查询模块的方法
eg:查询math模块
>>import math
>>dir(math)
3.查询关键字
>>help()
>>keywords
十一.常用ASCII码
A:65
a:97
26个字母