python基本对象和函数介绍

目录

1.python基本对象介绍

1.ndarray函数

1.创建方法

2.函数:tolist函数   

2.list对象

3.dict对象

4.tuple对象

5.image对象

2.python基本函数介绍

1.随机下标

2.绘制图像

1.绘制柱状图

2.绘制折线图

2.python常用函数

1.plt.plot()

2.plt.grid()

 3.random模块

1、random.choice(sequence)

4.range函数


Python是强类型语言,允许将整数的字符串表示形式传递给 in,将float的字符串表示形式传递给 float;但是,如果你将float型的字符串传递给int将会得到错误。

int(0.3)=int(0.5)=int(0.7)=0

1.python基本对象介绍

1.ndarray函数

1.创建方法

a=np.array([1, 2, 3], dtype=int)

print(a)

         输出:[1, 2, 3]

2.函数:tolist函数   

        a = np.array([[1,2,3],[4,5,6],[7,8,9]])
        print(a)
        b = a.tolist()
        print(len(b))
        print(b)

2.list对象

a = [1, 2, 3, 4]

c = [0, 1, 'aaa']

1.常用函数

len(a):计算list的长度

+方法:a = [1] ,d = a+['ddd'],d ------[1, 'ddd']

*方法:a=[1, 3], d=a*3, d------[1,3,1,3,1,3]

访问元素:a=[1,2,3,4], a[0]-----访问第一个元素;a[-1]访问最后一个元素;

        a[:] 取出所有列表元素;a[0:n] 取出0到n-1号元素

迭代访问:for i in a: i++ # a列表中的每个元素+1

插入元素:a.append(13)    在列表最后插入元素

        list1.insert(0, 'R') 在对应位置插入元素

删除元素: del e[3] # 删除对应e[3]处元素,后面元素前移,无空位

最大最小值:max(a) # a列表里的最大值; min(a)

统计次数:print(a.count(3)) #统计a列表中3出现的次数

查找索引:print(a.index(3))  # 从列表找出第一个为3的索引位置

移除:a.remove(3) # 移除列表中第一个为3的元素

反向操作:b = reverse(a) # b列表与a列表中元素完全相反

排序操作:a=[2,31,10,7]  a.sort() # 得到a=[2, 7, 10, 31] 从小到大排序

3.dict对象

dict 字典类型

dict={'name':'Joe','age':18,'height':60}

clear,清空

dict.clear() 清空函数 # 运行后{}

pop,移除指定key的键值对并返回vlaue(如果没有该key,可返回指定值),popitem,默认移除最后一个键值对

print(dict.pop('age'))
print(dict)
#18,返回值为被移除的键值;{'name': 'Joe', 'height': 60}


print(dict.pop('agea','erro'))
print(dict)
#结果erro,{'name': 'Joe', 'age': 18, 'height': 60}


print(dict.popitem())
print(dict)
#结果('height', 60),{'name': 'Joe', 'age': 18}

del,删除字典的另一种方式

del dict['age']
print(dict)
#结果{'name': 'Joe', 'height': 60}

get,返回指定键的值,如果值不在字典中返回default值,等同于dict.__getitem__('name')

print(dict.get('name'))
#结果Joe
print(dict.get('hobby'))
#结果None
print(dict.get('hobby','basketball'))
#结果basketball

setdefault,和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default

print(dict.setdefault('hobby'))
print(dict)
#结果None,{'name': 'Joe', 'age': 18, 'height': 60, 'hobby': None}


print(dict.setdefault('hobby','basketball'))
print(dict)
#结果basketball,{'name': 'Joe', 'age': 18, 'height': 60, 'hobby': 'basketball'}

update,更新字典,有key则更新该key对应的vlaue,没有则新增

dict.update({'age':20})
print(dict)
#结果{'name': 'Joe', 'age': 20, 'height': 60}
dict.update({'hobby':'run'})
print(dict)
#结果{'name': 'Joe', 'age': 18, 'height': 60, 'hobby': 'run'}

字典的打印,取值等

print(dict.items())
print(dict.values())
print(dict.keys())
#结果
dict_items([('name', 'Joe'), ('age', 18), ('height', 60)])
dict_values(['Joe', 18, 60])
dict_keys(['name', 'age', 'height'])

字典的遍历,遍历key

for i in dict:
print(i)
#结果
name
age
height
#相同效果的遍历如下:
for key in dict.keys():
print(key)
#
字典的遍历,遍历value
for vlaue in dict.values():
print(vlaue)
#结果
Joe
18
60

字典的遍历,遍历item

#10.1输出为元组的方式
for item in dict.items():
print(item)
#结果
('name', 'Joe')
('age', 18)
('height', 60)
#10.2输出为字符串的方式
for key,vlaue in dict.items():
print(key,vlaue)
#结果
name Joe
age 18
height 60
#输出为字符串的另一种方式
for i in dict:
print(i,dict[i])

4.tuple对象

一、tuple是一个class,是不可变的list类型,不可以增删改;

不可以修改已存在的部分,只能增加新的部分;

tup1 = ('physics', 'chemistry', 1997, 2000);
tup2 = (1, 2, 3, 4, 5 );
tup3 = "a", "b", "c", "d";

访问:(与list一样)tup1[1:5];

tup3 = tup1 + tup2;
print tup3;

二、任意无符号的对象,以逗号隔开,默认为元组,如下实例:

a=1,2,3,'e'

a=(1,2,3,'e').

三、Python元组包含了以下内置函数(与list差不多的函数)
1、cmp(tuple1, tuple2):比较两个元组元素。
2、len(tuple):计算元组元素个数。
3、max(tuple):返回元组中元素最大值。
4、min(tuple):返回元组中元素最小值。
5、tuple(seq):将列表转换为元组。
6、count函数:

tu = (123, ‘Google‘, ‘Runoob‘, ‘Taobao‘, 123);

print ("123 元素个数 : ", tu.count(123)) print ("Runoob 元素个数 : ", tu.count(‘Runoob‘))

以上实例输出结果如下:

123 元素个数 : 2 Runoob 元素个数 : 1

7.index函数

thistuple = (1, 3, 7, 8, 7, 5, 4, 6, 8, 5)

x = thistuple.index(8)

print(x) # 得到3

index()方法查找和指定值第一次匹配的元素位置索引。

如果找不到该值,index()方法将引发异常。

四、tuple与list的比较

1.tuple与list都按照一定次序排序;索引从0开始,负数索引从tuple的尾部开始计数;

都可以使用slice函数,list分隔后得到新的list,tuple分隔后得到新的tuple;

2.tuple无法新增元素,没有append,extend,remove,pop方法,但可以通过in函数观察元素是否存在于tuple中;

3.tuple的好处:

        tuple比list操作速度更快;若仅需要比那里某些元素集合,可以使用tuple代替list;

4.tuple与list的转换:

tuple转为list:

tp = (11, 22, 33, 44)

tp_list = list(tp)

list转为tuple:

l = [11, 22, 33, 44]

print(tuple(l))

5.image对象

2.python基本函数介绍

1.随机下标

random.randrange(num): 返回0到num-1之间的一个随机数字

2.绘制图像

1.绘制柱状图

# data1是list类型
x = list(range(0, 360, 5))
def plot_bar_color(x, data1, data2, data3, data4, data5, data6):
	colors = []
	for i in range(len(data1)):
		if i % 2 == 0:
			colors.append('lightcoral')
		else:
			colors.append('lightseagreen')

	# 创建x轴显示的参数
	x_tick = ['7:50', '7:51', '7:52', '7:53', '7:54', '7:55', '7:56',
			  '7:57', '7:58', '7:59', '8:00', '8:01', '8:02', '8:03', '8:04', '8:05', '8:06']
	y_tick = ['0', '5', '10', '15', '20', '25', '30', '35']
	plt.figure(figsize=(300, 100), dpi=10)
	font2 = {'family': 'Times New Roman', 'weight': 'normal', 'size': 100}

	ax1 = plt.subplot(2, 3, 1, frameon=False)
	plt.title('position=500  lane=1', font2)
	plt.xlabel('time', font2)
	plt.ylabel('volume(pcu/min)', font2)
	plt.grid()
	plt.bar(range(len(data1)), data1, color=colors, width=1)
	plt.xticks([index - 0.5 for index in range(len(x_tick))], x_tick, rotation=45, size=100)
	plt.ylim(0, 35)
	plt.yticks(size=200)

	ax2 = plt.subplot(2, 3, 2, frameon=False)
	plt.title('position=500  lane=2', font2)
	plt.xlabel('time', font2)
	plt.ylabel('volume(pcu/min)', font2)
	plt.grid()
	plt.bar(range(len(data2)), data2, color=colors, width=1)
	plt.xticks([index - 0.5 for index in range(len(x_tick))], x_tick, rotation=45, size=100)
	plt.ylim(0, 35)
	plt.yticks(size=200)

	ax3 = plt.subplot(2, 3, 3, frameon=False)
	plt.title('position=500  lane=3', font2)
	plt.xlabel('time', font2)
	plt.ylabel('volume(pcu/min)', font2)
	plt.grid()
	plt.bar(range(len(data3)), data3, color=colors, width=1)
	plt.xticks([index - 0.5 for index in range(len(x_tick))], x_tick, rotation=45, size=100)
	plt.ylim(0, 35)
	plt.yticks(size=200)

	ax4 = plt.subplot(2, 3, 4, frameon=False)
	plt.title('position=500  lane=4', font2)
	plt.xlabel('time', font2)
	plt.ylabel('volume(pcu/min)', font2)
	plt.grid()
	plt.bar(range(len(data4)), data4, color=colors, width=1)
	plt.xticks([index - 0.5 for index in range(len(x_tick))], x_tick, rotation=45, size=100)
	plt.ylim(0, 35)
	plt.yticks(size=200)

	ax5 = plt.subplot(2, 3, 5, frameon=False)
	plt.title('position=500  lane=5', font2)
	plt.xlabel('time', font2)
	plt.ylabel('volume(pcu/min)', font2)
	plt.grid()
	plt.bar(range(len(data5)), data5, color=colors, width=1)
	plt.xticks([index - 0.5 for index in range(len(x_tick))], x_tick, rotation=45, size=100)
	plt.ylim(0, 35)
	plt.yticks(size=200)

	ax6 = plt.subplot(2, 3, 6, frameon=False)
	plt.title('position=500  lane=6', font2)
	plt.xlabel('time', font2)
	plt.ylabel('volume(pcu/min)', font2)
	plt.grid()
	plt.bar(range(len(data6)), data6, color=colors, width=1)
	plt.xticks([index - 0.5 for index in range(len(x_tick))], x_tick, rotation=45, size=100)
	plt.ylim(0, 35)
	plt.yticks(size=200)
	plt.savefig('plt1.png')
	plt.show()

2.绘制折线图

# data1是list类型
x = list(range(0, 360, 5))
def plot_line(x, data1, data2, data3, data4, data5):

	# 创建x轴显示的参数
	x_tick = ['7:50', '7:51', '7:52', '7:53', '7:54', '7:55', '7:56',
			  '7:57', '7:58', '7:59', '8:00', '8:01', '8:02', '8:03', '8:04', '8:05']
	x = range(len(x_tick))
	plt.figure(figsize=(300, 100), dpi=10)
	font2 = {'family': 'Times New Roman', 'weight': 'normal', 'size': 100}

	ax1 = plt.subplot(2, 3, 1, frameon=False)
	plt.plot(x, data1, marker='.', mec='r', mfc='w', linewidth=6)
	plt.xticks(x, x_tick, rotation=45, size=100)
	plt.ylim(0, 75)
	plt.yticks(size=100)
	plt.margins(0)  # 设置缩放
	plt.title('position=500  lane=1', font2)
	plt.xlabel('time', font2)
	plt.ylabel('space mean speed(fit/s)', font2)
	plt.grid()

	ax2 = plt.subplot(2, 3, 2, frameon=False)
	plt.plot(x, data2, marker='.', mec='r', mfc='w', linewidth=6)
	# plt.legend()  # 显示变化曲线的名称
	plt.xticks(x, x_tick, rotation=45, size=100)
	plt.ylim(0, 75)
	plt.yticks(size=100)
	plt.margins(0)  # 设置缩放
	plt.title('position=500  lane=2', font2)
	plt.xlabel('time', font2)
	plt.ylabel('space mean speed(fit/s)', font2)
	plt.grid()

	ax3 = plt.subplot(2, 3, 3, frameon=False)
	plt.plot(x, data3, marker='.', mec='r', mfc='w', linewidth=6)
	plt.xticks(x, x_tick, rotation=45, size=100)
	plt.ylim(0, 75)
	plt.yticks(size=100)
	plt.margins(0)  # 设置缩放
	plt.title('position=500  lane=3', font2)
	plt.xlabel('time', font2)
	plt.ylabel('space mean speed(fit/s)', font2)
	plt.grid()

	ax4 = plt.subplot(2, 3, 4, frameon=False)
	plt.plot(x, data4, marker='.', mec='r', mfc='w', linewidth=6)
	plt.xticks(x, x_tick, rotation=45, size=100)
	plt.ylim(0, 75)
	plt.yticks(size=100)
	plt.margins(0)  # 设置缩放
	plt.title('position=500  lane=4', font2)
	plt.xlabel('time', font2)
	plt.ylabel('space mean speed(fit/s)', font2)
	plt.grid()

	ax5 = plt.subplot(2, 3, 5, frameon=False)
	plt.plot(x, data5, marker='.', mec='r', mfc='w', linewidth=6)
	plt.xticks(x, x_tick, rotation=45, size=100)
	plt.ylim(0, 75)
	plt.yticks(size=100)
	plt.margins(0)  # 设置缩放
	plt.title('position=500  lane=5', font2)
	plt.xlabel('time', font2)
	plt.ylabel('space mean speed(fit/s)', font2)
	plt.grid()
	'''
	ax6 = plt.subplot(2, 3, 6, frameon=False)
	plt.plot(x, data6, marker='.', mec='r', mfc='w', linewidth=6)
	plt.xticks(x, x_tick, rotation=45, size=100)
	plt.ylim(0, 75)
	plt.yticks(size=100)
	plt.margins(0)  # 设置缩放
	plt.title('position=500  lane=6', font2)
	plt.xlabel('time', font2)
	plt.ylabel('space mean speed(fit/s)', font2)
	plt.grid()
	'''


	plt.savefig('plt3.png')
	plt.show()

2.python常用函数

1.plt.plot()

plt.plot()默认画出来的是一个折线图。当只传入一个变量时默认将index作为x坐标。

2.plt.grid()

格式如下: matplotlib.pyplot.grid(b=None, which='major', axis='both', )

参数说明:

  • b:可选,默认为 None,可以设置布尔值,true 为显示网格线,false 为不显示,如果设置 **kwargs 参数,则值为 true。
  • which:可选,可选值有 'major'、'minor' 和 'both',默认为 'major',表示应用更改的网格线。
  • axis:可选,设置显示哪个方向的网格线,可以是取 'both'(默认),'x' 或 'y',分别表示两个方向,x 轴方向或 y 轴方向。
  • **kwargs:可选,设置网格样式,可以是 color='r', linestyle='-' 和 linewidth=2,分别表示网格线的颜色,样式和宽度。

 3.random模块

1、random.choice(sequence)

可以从序列中获取一个随机元素;

choice() 方法返回一个(列表,元组或字符串中的)随机项。

random.choice('abcdefghijklmnopqrstuvwxyz!@#$%^&*')

4.range函数

for i in range(6):  i 为0,1,2,3,4,5

for i in range(3,8): i 为3,4,5,6,7

for i in range(2,20,2): 2到19的序列,且步数为2;   i为2,4,6,8,10,12,14,16,18

3.借鉴网站

https://www.jb51.net/article/199295.htm

python中元组(tuple)用法总结_spider_d的博客-CSDN博客_tuple的用法

Python 元组(tuple) index() 方法-CJavaPy

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值