python基本类型和类型间转换(python3)

1.python3有6个标准数据类型
①.Number(数字):包括int,float,bool,complex(复数,如:2+3j)。

  • Number类型可以通过str()来转换为字符串,如str1=str(123)会转换为’123’;

  • Number不能转换为list、tuple等,但如果将Number转换为string,然后就可以转换为list,但是转换后的结果是把数字分开。有意思的是,如果转换为字符串后再转换为数组array类型,则还是输出原来的数字(当然,数字也可以直接转换为数组)。

    num1 = 24.6
     str1 = str(num1)
     list1 = list(str1)
     print(list1)  # 输出的是['2', '4', '.', '6']
     array1=np.array(str1)  
     print(array1)# 输出的是24.6
    

②.String(字符串):双引号或单引号(用法相同),没有char类型。

  • 字符串引号前面加r表示原始字符串,即对其中的转义不做处理,如print(r’\n’)输出的就是\n;
  • 前面加u表示unicode编码。
  • 字符串格式化:(%是运算符,用%d加入数字,%s加入字符串)如:str = ‘这个数字是: % d’ % 2。最终结果会把2和%d替换。
  • byte二进制字节,可以通过bytes(str,encoding=‘utf-8’),来将字符串以utf-8的格式转换为字节流。bytes和string是严格区分的,使用bytes即告诉计算机不需要它来自动编码文档,而是手动决定要操作文档的格式。
  • 如果内容合适的话,字符串可以转换为除了字典外的任何类型。

③.List(列表):[]+逗号。类似于数组,但是允许不同的数据类型在同一列表中。

  • 删除一个列表中的值时候,后面的值会自动向前补空位置。即del(list[0])后,依然可以读取list[0]。
  • 列表可以嵌套
  • 元组可以转换为列表:list_after=list(tuple1),同样列表也可以转换为元组。
  • 列表可以和array(数组)互相转换,array不是基本类型需要导入如架包。

import numpy as np

array1=np.array([[1,2,3],[4,5,6],[7,8,9]])
list1=array1.tolist()
print(type(array1))#输出<class 'numpy.ndarray'>
#数组转换为列表用tolist()
print(type(list1))#输出<class 'list'>
#列表转换为数组直接用np.array()
array2=np.array(list1)
print(type(array2))#输出<class 'numpy.ndarray'>
>

④.Tuple(元组):()+逗号,元组和列表类似,区别在于初始化后元组无法修改(除非转换成其他类型,如list),元组更安全一点。
当元组中只有一条数据的时候,该条数据后面要加一个逗号才能保证它的类型依然是元组,因为只有一个数据时,括号的意义是数学中的括号,如tuple1=(‘first’,)。

⑤.Set(集合):{}+逗号,无序且不重复的一些数据。集合和列表、元组、数组之间都可以显式的相互转换.

set1={1,2,4,5,1}
print(set1)#会输出{1,2,4,5}
list1=[1,2,4,2,5]
set2=set(list1)#列表可以转换为集合,输出set2的时候依然会删除重复值

⑥.Dictionary(字典):{key1:value1,key2:value2},字典不能通过下标来取值。

dict1.popitem()#删除,随机删除一组元素,就是删除末尾
 - dict1.pop(key)#移除,通过删除键来删除值
 - dict1.clear()#清除全部数据

字典的键值:

key在一个字典中是唯一且不可变的,所以键可以是数字、’字符串或元组,但不能是列表。值可以是任何对象

dict1={(1,2,3):"Monday,Tuesday,Wednesday",4:"Thursday",5:"Friday",6:"Saturday"}#key是元组和数字
print(dict1[(1,2,3)])#会输出Monday,Tuesday,Wednesday

备注: python中的可以哈希(或者说支持哈希)就是不可以改变的数据结构,如Tuple、string、Object。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值