python基础-数据类型间的转换

数据类型转换:将自身数据类型转化成新的数据类型,并拥有新数据类型相关操作的过程;

为方便更好的帮助处理业务,将数据变更为更适合业务场景的类型;

a = '1',  此时想使用数字的数学操作,就需要先将字符串转化为数字类型;

 

1.数字与字符串间的转换

# 字符串转换成整数
a = '34'
b = int(a)
print(b)  # 34
# 此时字符串内必须是整数,否则会报错
# print(int('45.6'))  # ValueError: invalid literal for int() with base 10: '45.6'

# 字符串转换成浮点数
print(float('45.6'))  # 45.6
print(type(float('45.6')))  # <class 'float'>
print(float('45'))  # 45.0

# 数字转换成字符串
c = 34
print(str(c))  # 34
print(type(str(c)))  # <class 'str'>
print(str(45.6))  # 45.6

 

2.字符串与列表之间的转换

  字符串转换成列表:spring.split(sep=分割符, maxsplit=最大分割次数);

  列表转换成字符串:'分割符号'.join(可迭代对象);可迭代对象存储的数据不能是数字类型;

str_test = 'i am a teacher'
print(str_test.split())  # ['i', 'am', 'a', 'teacher'] (默认分割符是空格、默认分割次数为全部)
print(str_test.split(maxsplit=2))  # ['i', 'am', 'a teacher']
print('wer#ty#67'.split('#', 1))  # ['wer', 'ty#67']
# 若指定的分割符不存在,则完整字符串作为一个元素存入列表
print('i love you'.split('!'))  # ['i love you']
# 分割符不能是空字符串,会报错
# print(a.split(''))  # ValueError: empty separator
text = "23,王伟,2-1"
print(text.split(','))  # ['23', '王伟', '2-1'] (此时2-1属于字符串)

# print(' '.join(['python', 56]))  # TypeError: sequence item 1: expected str instance, int found
print(' '.join(['python', 'go']))  # python go
print('!!!'.join(('python', 'go')))  # python!!!go
print(' '.join({'python', 'go'}))  # go python
print(' '.join({'name': 'll', 'height': 178}))  # name height (字典拼接的是key)

 

3.字符串类型与比特类型的转换

  比特类型是一种特殊的二进制的数据流, bytes;

  可以看做是一种特殊的字符串,写法是字符串前加b;

  字符串转换bytes, string.encode(encoding=编码格式, errors='strict') 

    encoding是编码格式、默认是utf-8, 还可以是ascii或gbk等,errors是遇到错误时的操作,默认是strict直接抛异常、也可以指定为ignore, 忽略错误; 

  bytes转换成字符串,bytes.decode(encoding=编码格式,errors='strict')

a = b'hello world'
print(a)  # b'hello world'
print(type(a))  # <class 'bytes'>
# bytes类型也可以使用一些字符串的方法, 可以利用dir()函数查看所用相关方法
print(dir(bytes))
'''
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', 
'__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', 
'__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', 
'__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 
'capitalize', 'center', 'count', 'decode', 'endswith', 'expandtabs', 'find', 'fromhex', 'hex', 'index', 'isalnum', 
'isalpha', 'isascii', 'isdigit', 'islower', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 
'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 
'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
'''
# replace()
new_a = a.replace(b'h', b'aaa')  # 注意传的参数也要是比特类型
print(new_a)  # b'aaaello world'

# 比特数据中不能带中文,可以先将字符串转换下
# b = b'你好 world'  # SyntaxError: bytes can only contain ASCII literal characters.
# print(b)
b = '你好 world'
new_b = b.encode('utf-8')
print(new_b)  # b'xe4xbdxa0xe5xa5xbd world'

reduction_b = new_b.decode('utf-8')
print(reduction_b)  # 你好 world

 

4.列表、元组、集合间的转换

  直接调用相关内置函数即可;

  list()、tuple()、set()  

test_list = [34, 56]
tuple_test = tuple(test_list)
print(tuple_test)  # (34, 56)
print(type(tuple_test))  # <class 'tuple'>

new_tuple = (45,)
set_test = set(new_tuple)
print(set_test)  # {45}
print(type(set_test))  # <class 'set'>

print(list(set_test))  # [45]
print(type(list(set_test)))  # <class 'list'>

 

总结

   python基础-数据类型间的转换

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python基础-数据类型间的转换 - Python技术站

(0)
上一篇 2023年4月2日 下午4:40
下一篇 2023年4月2日 下午4:40

相关文章

  • python基础-字典常用操作

    1.通过key获取value   dict = {key1: value1, key2:value2}   dict[‘key1’] 可获取到key1对应的value1   person = {‘name’: ‘tt’, ‘age’: 13} print(person[‘age’]) # 13 test_dict = {‘name’: ‘ll’, ‘age’…

    2023年4月2日
    00
  • python基础-较复杂数据类型预览

    1.初识列表   列表就是队列;   列表是一种有序的,且内容可重复的数据类型;   用list代表列表,也可以用list()定义一个列表,同时定义列表可以直接使用 [ ];   python中列表是一个无限制长度的数据结构;(但为了响应速度,也应避免列表中数据过大);   列表中可以存储各种数据类型,数字、字符串、布尔型、None、另一个列表等。     …

    2023年4月2日
    00
  • python基础–简单数据类型预览

    为了适应更多的使用场景,将数据划分为多种类型,每种类型都有各自的特点和使用场景, 帮助计算机高效的处理和展示数据。(比如数字用于数学运算、字符串用于信息传递、页面文字展示等) 1.数字类型   整型     整型就是我们说的整数,0也是整数,是一种特殊的整数;      int 既是整型的代表,又是定义整型的函数;      定义一个整型,并不一定必须用in…

    2023年4月2日
    00
  • python基础-函数

    1.函数定义   函数就是将完成一件事情的步骤封装在一起并得到最终的结果;   函数名代表了这个函数要做的事情;   函数体是实现函数功能的流程;   添加一个函数也被叫做实现了一个方法或功能;   函数可以帮助我们重复使用一些操作步骤;   2.def   通过关键字def定义函数;   def  name(args…):     print(”) …

    2023年4月2日
    00
  • python基础-模块和包

    1.什么是python的包   包就是一个文件夹,里面放着一个个py文件或子包;   在包中可以被调用的一个个py文件,我们叫做模块;      如上,test就是一个包、two.py就是test下的一个模块,child是子包,结构和test包一样;   包的身份证     可以看到test下还有一个__init__.py命名的文件,是python包中必须存…

    2023年4月2日
    00
  • python基础-面向对象

    1.面向对象   面向对象编程是在面向过程编程的基础上发展来的,它比面向过程编程具有更强的灵活性和扩展性,所以可以先了解下什么是面向过程编程:   面向过程编程的核心是过程,就是分析出实现需求所需要的步骤,通过函数一步一步实现这些步骤,接着依次调用即可,再简单理解就是程序   从上到下一步步执行,从头到尾的解决问题;   而面向对象编程是把构成事物的整个需求…

    2023年4月2日
    00
  • python基础-常用内置包

      内置包是python自带的一些功能模块,有需求时可以在自己文件中直接导入使用。   1.datetime包   python中的时间包,可以在业务开发中辅助我们处理时间信息; # datetime可以获取当前时间 from datetime import datetime re = datetime.now() print(re) # 2022-12-0…

    2023年4月2日
    00
  • python基础-异常处理

    1.异常与异常处理   异常就是程序中的错误,正常情况下程序是自上而下逐行执行的,当遇到异常时,就会报错退出执行;   异常处理就是在程序中可能出错的地方进行提前预捕获,并将异常部分的程序进行修正使得程序正常执行。   2.异常的语法   利用try … except … 关键字 # 以字符串的upper方法为例 def new_upper(str_…

    2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部