一、python基础部分学习
内容大纲:
int、float、字符串、list、dict、tuple、numpy矩阵的创建
1、int :整数
就是没有小数点的数字,包含整数、负数和0。
可以使用int()强制将其他类型的数据转换为整型
如 :
print(int(2.4)) ##输出结果就是2
2、float:浮点型
浮点数就是小数
可以使用float()强制将其他类型的数据转换为浮点型
3、字符串
(1)单行字符串,单双引号定义,如:'单行字符串',"单行字符串"
也可以再字符串中添加换行符(\n)间接定义多行字符,外双内单,外单内双
(2)多行字符串,单引号、多引号定义多行字符串时,需要添加换行符“\n”;
三引号不需要添加换行符,一般用于函数注释、类注释、定义SQL语句等
(3)转义字符:\(在行尾时)续行符
(4)字符串格式化:
print ("my name is %s and weight is %d kg!" % ('zzh',20))
4、list 是python的基本数据结构之一,支持动态元素增加、不同类型
一维:
A1=[1,2,3]
二维:
A2=[[1,2],[3,4],[5,6]]
三维:
A3=[[[123,456],[456,789],[1,2]]]
在一个列表中,如:list=[1,2,"physics","d"]
(1)list的索引是从0开始
(2)访问列表中的值:使用下标索引来访问
例如:
list[0] #取第一个值
list[-1] #取最后一个值
list[:] 或者 list[ : len(list)] #取所有列表元素
list[0:n] #从第0号元素取到n-1号
(3)更行列表 可以对列表的数据项进行修改或更新,也可以使用append()方法添加列表项
list[0]='d' #修改元素值
list.append('a') #在列表末尾 添加元素,
list.insert(0,'f') #在某处插入元素,在第一处添加
(4)删除列表元素 del语句
del list[0] #删除第一个元素
list.remove #移除指定的第一次出现的元素
如:
list=[1,2,3,1,2]
list.remove(2)
print(list[:]) #结果为:[1,3,1,2]
list.pop() # 移除元素,默认从最后移除,返回该元素值,括号中可加入元素索引值来移除
如:
list=[1,2,3,4,1]
list.pop()
print(list[:len(list)]) #输出结果为[1,2,3,4]
list.pop(0)
print(list[:]) #输出结果为[2,3,4,1]
(5)切片
如:
group=["张三","李四","王五","赵六","老七"]
print(group[0:3]) #第一个元素开始,到第三个终止 ["张三","李四","王五"]
print(group[:3]) #python默认从0开始 ["张三","李四","王五"]
print(group[0:]) #如果没有指定最后一个索引,python会到列表末尾终止
print(group[0:10]) #指定的列表索引超过了界限,python正常打印整张列表并没有任何提示有任何错误
print(group[-3:]) #从group列别的末尾第三个元素开始至列表末尾结束 ["王五","赵六","老七"]
如:
a=[[1,2,3],[4,5,6],[7,8,9]]
print(a[1:3][0:1][0][2]) ##结果是6
a[1:3] --->[[4,5,6],[7,8,9]]
[0:1] ----->[[4,5,6]]
[0] --------->[4,5,6]
[2] --------->6
5、dict :是一种可变容器模型,可存储任意类型对象。字典特性:不允许同一个键出现两次,键必须不可变,所有可以用数字、字符串或者元组充当,用列表就不可以
字典的每个键值对(key=>value)都是用冒号,每个键值对之间用逗号分割,整个字典包括在花括号{}中,格式如下:
my_dict={key1:value1,key2:value2}
键一般是唯一的,如果重复最后一个的键值对就会替换前面的,值不需要唯一,值可以是任何类型,但键必须不可变,如字符串、数字或者是元组。
(2)访问字典里的值
如:dict={'name':'zzh','age':7,'class':'first'}
print("dict名字:",dict['name'])
#结果:dict名字: zzh
如果用字典里没有的键访问数据,就会输出错误
(3)修改字典:向字典中添加新内容的方法是增加新的键值对
如:
dict={'name':'zzh','age':7,'class':'first'}
dict['age']=8 #更新
dict['school']='HUAIXIAO' #添加
print(dict)
#输出结果:{'name': 'zzh', 'age': 8, 'class': 'first', 'school': 'HUAIXIAO'}
(4)删除字典元素 能删除单一元素也能清空字典
删除一个字典用del命令
如:
dict={'name':'zzh','age':7,'class':'first'}
del dict['name'] #删除键是'name'的条目
print(dict)
#输出结果是:{'age': 8, 'class': 'first'}
dict.clear() #清空字典所有条目
del dict #删除字典
6、tuple类型:是一种有序的列表,中译为“元组”,tuple和list非常相似,但是tuple一但创建就不能修改
(1)创建tuple
如:
mates=('小明','小红','小黑','小白')
print(mates)
#输出解果:('小明', '小红', '小黑', '小白')
创建tuple和创建list唯一不同之处就是用()替代了[]
tuple中没有append()方法,remove()方法,insert()方法,pop()方法
(2)元组可以存储整数、实数、字符串、列表、元组等任何类型数据,并且在同一元组中,元素类型可以不同
如:
("c.biancheng.net",1,[2,'a'],("abc",3.0))
(3)注意:当创建的元组中只有一个字符串类型的元素时,该元素后面必须要加一个逗号,否则python解释器会将他视为字符串
(4)使用tuple()函数创建元组,可将其他数据类型转换为元组类型
如:
tuple(data)
字符串
tup1=tuple("hello")
print(tup1)
#结果为:('h', 'e', 'l', 'l', 'o')
列表
list=['python','java','c++','c']
tup2=tuple(list)
print(tup2)
输出:('python', 'java', 'c++', 'c')
字典
dict1={'a':100,'b':90,'c':10}
tup3=tuple(dict1)
print(tup3)
输出:('a', 'b', 'c')
区间
range1=range(1,6)
tup4=tuple(range1)
print(tup4)
输出结果:(1, 2, 3, 4, 5)
(5)访问元组元素
tuplename[i] tuplename表示元组的名字,i表示索引值
使用切片访问元组原始格式:tuplename[start:end:step]start起始索引,end结束索引,step补偿
(6)修改元组
只能创建一个新的元组去替代旧的元组
tup=(100,0.5,-36,73)
print(tup) # 输出 (100,0.5,-36,73)
tup=('abcdfe')
print(tup) #输出 ('abcdfe')
(7)删除元组 del
del tup
7、numpy举证的创建
(1)手动创建
语法:np.mat('str')
函数创建矩阵,其中字符串的表示中,矩阵的行与行之间用分号隔开,行内的元素之间用空格隔开如: a=np.mat('1 2 3;4 5 6;7 8 9')
中间打逗号也可以
b=np.mat('1,2,3;4,5,6;7,8,9')
(2)使用NumPy数组进行创建
①利用mat(ndArray)函数创建矩阵(利用reshape函数)
c=np.mat(np.arange(9)) #一维矩阵
c=np.mat(np.arange(9).reshape(3,3))
print(c)
#输出结果:[[0 1 2]
[3 4 5]
[6 7 8]]
②利用mat(ndArray)函数创建矩阵,矩阵中存放随机数numpy.random模块中的函数生成
1)np.random.rand()均匀分布随机数,给几个数就是几维
如:创建一个两行三列的随机小数矩阵:
d=np.mat(np.random.rand(2,3))
结果:[[0.20396211 0.48542335 0.1732927 ]
[0.64040235 0.31386684 0.52378088]]
2)标准正态分布随机数
e=np.mat(np.random.randn(3,2))
结果:[[-2.34102792 -0.68100602]
[ 0.7328709 1.06361832]
[ 1.07820789 -2.95577289]]
3)随机整数 np.random.randint(min,max,number)
f=np.mat(np.random.randint(1,10,8)) #法一:在1到10之间取8个整数
结果是:[[1 3 8 3 2 4 8 8]]
f=np.random.randint(1,100,25).reshape((5,5)) #法二:在1到100之间取25个整数,形状是5*5矩阵,维度只能在reshape中体现了
4)np.random.random(shape) 0-1的随机数
shape=[2,3]表示2行3列