iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >day07(数据类型的相互转换 ,字符编
  • 940
分享到

day07(数据类型的相互转换 ,字符编

数据类型字符 2023-01-31 00:01:01 940人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

一,复习: ''' 1,深浅拷贝   ls = [1,'a',[10]]  值拷贝:直接赋值 ls1 = ls,ls中的任何值发生改变,ls1也随之发生改变  浅拷贝:通过copy()方法 ls2 = ls.copy(),ls中存放的

一,复习:

'''
1,深浅拷贝  
  ls = [1,'a',[10]]
  值拷贝:直接赋值 ls1 = ls,ls中的任何值发生改变,ls1也随之发生改变
  浅拷贝:通过copy()方法 ls2 = ls.copy(),ls中存放的值的地址没有改变, 但内部的值发生改变,ls2会随之改变

    -- ls = [1, 'a', [10]] => [1, 'a', [100]] = ls2
  深拷贝:通过deepcopy()方法 ls3 = deepcopy(ls),ls中存放的值发生任何改变,ls3都不会随之改变
  
2.元组类型
t = tuple()
元组:
    1.就可以理解为不可变的list
    2.有序 - 可以索引取值,可以切片
    3.不可变 - 长度和内容都不能发生改变
细节:元组中可以存放所有的数据类型,所以存放可变类型数据后,可变类型依然可以发生改变
3.字典类型
d1 = {}
d2 = dict({'a': 1})
d3 = dict(name='Bob') # 所有的key都会用合法的变量名,最终转化为字符串类型的key
d4 = {}.fromkeys('abc', 0) => {'a': 0, 'b': 0, 'c': 0}
key: 要确保唯一性,所以必须为不可变类型
value:存放可以存放的所有类型数据,所以支持所有类型
字典:1.可变 2.没有索引,通过key取值 3.无序的
增删改查:字典名[key名] | 字典名[key名] = 值 | update(dict) | setdefault(key, d_value) | get(key, default)
| pop(key) | popitem() | clear()
循环:keys() | values() | items()
for k, v in dic.items(): # (k, v)
pass

字典的成员运算:完成的就是 key 在不在 目标字典中
4.集合类型
s = set()
集合:1.可变 - 可增可删 2.无序无索引无key - 不能取值不能改值 3.for可以对集合取值,取值的结果顺序不确定
特定:不能存放重复的数据(去重效果)
  # s1.symmetric_difference_update(s2)  # 将集合s1与s2的运算结果设置给s1

'''

二,数据类型的相互转换

'''
 1,哪些类型可以转化为数字
    res = int('10')
   print(res)
   res = int('-3')
   print(res)
   res = float('.15')
   print(res)
   res = float('-.15')
   print(res)
   res = float('-3.15')
   print(res)
  

 2,数字转化字符串
   print(str(10))


 3,字符串与列表相互转换*****

   s = 'abc123呵呵'
   print(list(s))   #['a', 'b', 'c', '1', '2', '3', '呵', '呵'] 没有对应的 str(ls)
   ls =
['a', 'b', 'c', '1', '2', '3', '呵', '呵']
   n_s = ''.join(ls)
   print(n_s)         #abc123呵呵
  

   s1 =
'a b c 1 2 3 呵 呵'
   res = s1.split()     #默认按空格拆分
   print(res)        #['a', 'b', 'c', '1', '2', '3', '呵', '呵']

   
 #必须掌握*****
  
  列表与字符串相互转换*****
   s2 = 'ie=UTF-8&wd=你好帅'
   res = s2.split('&')
   print(res)        
# ['ie=UTF-8', 'wd=你好帅']

    ls2 = ['ie=UTF-8','wd=你好帅']
   n_s2 = '@'.join(ls2)
   print(n_s2)        
# ie=UTF-8@wd=你好帅


 4,需求: 字符串与列表的相互转换: "ie=UTF-8&wd=你好帅" => [('ie', 'UTF-8'), ('wd', '你好帅')]

   res = []
   s4 = "ie=UTF-8&wd=你好帅"
   ls4 = s4.split('&')      # ['ie=UTF-8', 'wd=你好帅']

   for ele in ls4:        # v = ie=UTF-8 | wd=你好帅
      k,v = ele.split('=')  # k: ie v: UTF-8
      res.append((k,v))
   print(res)           #[('ie', 'UTF-8'), ('wd', '你好帅')]
  

 5,需求:字符串与字典的相互转换: "ie=UTF-8&wd=你好帅" => {'ie': 'UTF-8', 'wd': '你好帅'}
   res = {}
   s5 =
"ie=UTF-8&wd=你好帅"
   ls5 = s5.split('&')     # ['ie=UTF-8', 'wd=你好帅']   
   for ele in ls5:        
      k,v = ele.split('=') #k:ie v=UTF-8
      res[k] = v
   print(res)           #{'ie': 'UTF-8', 'wd': '你好帅'}


 6,需求:列表与字典的相互转换:[('ie', 'UTF-8'), ('wd', '你好帅')] => {'ie': 'UTF-8', 'wd': '你好帅'}
   res = {}
   ls6 = [('ie', 'UTF-8'), ('wd', '你好帅')]
   for k,v in ls6:
      res[k] = v
   print(res)
  
 7,list 与taple ,set 直接转换——直接 类型()

 
  8.需求:将汉字转化为数字
  # 将 壹、贰、叁、肆、伍、陆、柒、捌、玖、拾、佰、仟
  # 转化为 1、2、3、4、5、6、7、8、9、10、100、100
  ## 作业:壹仟捌佰玖拾叁 => 1893
  num_map = {
  '壹': 1,
  '贰': 2,
   '仟': 1000
  }
  ls8 =['贰', '壹', '仟']
  res = []
  for v in ls8:
    num = num_map[v]  #通过key去映射拿到对应的值,完成
'贰' => 2
    res.append(num)
  print(res)

'''

三,字符编码:

# 测试一下
# 学习字符编码的问题:解决乱码问题

# 数据 从 硬盘 => 内存 => cpu
# 应用程序打开文本文件的三步骤 # 1.打开应用程序 # 2.将数据加载到内存中 # 3.cpu将内存中的数据直接翻译成字符显示给用户 # python解释器 # 1.打开Python解释器 # 2.将数据加载到内存中 # 3.cpu将内存中的数据解释执行将结果显示给用户,如何解释执行不能通过,将错误信息提供给用户 # 编码的发展史 # 电脑只能识别高低电频对应的0,1信息 => 问题:如何将世间万物信息存放到内存中 # 世间万物信息 => 0,1形式的数据 => 电脑中存放,将该过程逆向操作,就是访问已存储的数据信息 # 编码表 # 人能识别的字符 <=> 机器能识别的字符:一定存在一种固定的对应关系 # 编码表:一定范围内人能识别的字符与机器能识别的字符形成的对应关系表(映射表) # 1.ASCII表:英文字母、英文符号、数字与机器能识别的字符的对应关系表,8个二进制位就能存放完这所有的对应关系 => 1字节 # python2采用的默认编码是ASCII,早期并不支持中文编程 # 2_1.GBK:中文与与机器能识别的字符的对应关系表(完全兼容ASCII表),16个二进制位能存放所有汉字与ASCII之前的对应关系 => 2个字节 # 2个字节能否存放常用汉字 => 16个二进制位 2^15 # print(pow(2, 15)) # 2_2.Shift_JIS | Euc-kr:日文 | 韩文 与机器能识别的字符的对应关系表(完全兼容ASCII表) # 乱码:存的编码格式与取的编码格式不一致 # 3.Unicode万国码:世间中常用国家的常用字符与机器能识别的字符的对应关系表 # 转码:Unicode存在汉字与二进制对应关系,GBK也存在汉字与二进制对应关系,将GBK存放的数据转存到Unicode数据 # 均采用Unicode编码表,只是存放数据采用字节数不一致,utf-8与utf-16是Unicode编码表的两种体现方式

# utf-8:以1个字节存放英文,以3 | 6个字节存放汉字,在英文数据过多时,更深空间,用来传输效率更高 # utf-16:所有支持的符号都采用2个字节存放,读存数据采用定长,不用计算,读存效率高 # 硬盘到内存需要数据的传输,内存到CPU需要数据的传输,所有都采用utf-8 # 内存需要高速读写,采用utf-16 # 学习的结晶:编码与解码要统一编码 # 操作文本字符 res = "汉字呵呵".encode('utf-8') # 编码:将普通字符串转化为二进制字符串 print(res) res = b'\xe5\x91\xb5\xe5\x91\xb5'.decode('GBK') # 解码:将二进制字符串转化为普通字符串 print(res) res = b'\xe5\x91\xb5\xe5\x91\xb5'.decode('utf-8') print(res)

 

--结束END--

本文标题: day07(数据类型的相互转换 ,字符编

本文链接: https://www.lsjlt.com/news/181945.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • day07(数据类型的相互转换 ,字符编
    一,复习: ''' 1,深浅拷贝   ls = [1,'a',[10]]  值拷贝:直接赋值 ls1 = ls,ls中的任何值发生改变,ls1也随之发生改变  浅拷贝:通过copy()方法 ls2 = ls.copy(),ls中存放的...
    99+
    2023-01-31
    数据类型 字符
  • Java中字符串和日期类型的相互转换
    当在Java中进行字符串和日期类型之间的相互转换时,可以使用SimpleDateFormat类来实现。下面是一个详细的代码示例,展示了如何将字符串转换为日期类型,以及如何将日期类型转换为字符串。 首先,我们来看字符串转换为日期类型的示例代码...
    99+
    2023-08-17
    java jvm 开发语言
  • JavaScript数据类型及相互间的转换规则
    目录数据类型的分类非标准特殊对象SymbolBigInt 大数类型数据类型检测数据类型间的相互转换规则Number([val])parseInt([val],[radix]) par...
    99+
    2024-04-02
  • String类型和Date类型相互转换(java)
    ** String类型和Date类型怎样相互转换? ** 1、format方法可以把Date类型转换成特定格式的String类型,如果Date类型和定义的SimpleDateFormat长度不一致会自动在后面补充0 //自定义需要输出的St...
    99+
    2023-08-23
    java jvm sql
  • Java基本数据类型之间的相互转换详解
    目录1.自动类型转换1.定义2.数据类型按精度大小排序3.使用细节2.强制类型转换1.定义2.使用细节3.基本数据类型与String类型的转换1.基本数据类型转String类型2.S...
    99+
    2024-04-02
  • Java基本数据类型之间怎么相互转换
    本文小编为大家详细介绍“Java基本数据类型之间怎么相互转换”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java基本数据类型之间怎么相互转换”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1.自动类型转换1.定...
    99+
    2023-06-30
  • c++ 数字类型和字符串类型互转详解
    目录一级目录 数字转为字符串二级目录 字符串转为数字总结一级目录 数字转为字符串 二级目录 字符串转为数字 1.数字转为字符串 (1).首先要加头文件 #include <...
    99+
    2024-04-02
  • Go语言strconv包如何实现字符串和数值类型的相互转换
    这篇文章将为大家详细讲解有关Go语言strconv包如何实现字符串和数值类型的相互转换,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在实际开发中我们往往需要对一些常用的数据类型进行转换,如 string、...
    99+
    2023-06-14
  • C++实现字符串和整数的相互转换
    目录字符串转换整数方法1方法2(推荐)整数转换字符串字符串转换整数 方法1 #include <iostream> #include <typeinfo> ...
    99+
    2023-01-03
    C++字符串转整数 C++整数转字符串 C++ 整数 字符串
  • Go语言中基本数据类型的相互转换详解
    目录基本数据类型的相互转换基本语法小知识基本数据类型和string的转换方法一方法二string和基本数据类型转换基本数据类型的相互转换 Go在不同类型的变量之间赋值时需要显示转换,...
    99+
    2024-04-02
  • php如何将数据类型转换为字符串类型
    今天小编给大家分享一下php如何将数据类型转换为字符串类型的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。转换方法:1、使用s...
    99+
    2023-06-29
  • php字符串转数组类型转换
    PHP是一门优秀的编程语言,在web开发中得到广泛应用。字符串转数组是一种常见的数据类型转换操作,本文将介绍PHP中的字符串转数组类型转换。一、使用explode函数explode函数是PHP中用于分割字符串为数组的函数,其语法为:arra...
    99+
    2023-05-20
  • Base64字符串与图片的相互转换
    本篇博客记载的是一个我们在开发过程中很常用的一个小功能,就是我们在处理图片的时候做数据存放到数据库的功能,我们存放的不再是本地路径而是一个Base64的字符串! 然后我们在取值的时候又将Base64转换为一个图片文件的做法 简单的两个步骤:...
    99+
    2023-10-20
    java mybatis
  • PYTHON时间与字符串的互相转换
    这篇文章主要讲解了“PYTHON时间与字符串的互相转换”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PYTHON时间与字符串的互相转换”吧!1、字符串转换成时间[in]from d...
    99+
    2023-06-02
  • python中str与int类型的相互转换
    python中str与int类型的相互转换 1. str转换成int 方法:使用int()函数 # python中str转换成int a='12' b=int(a) # 转换成1...
    99+
    2023-10-11
    python
  • C#字节数组和字符串怎么相互转换
    这篇“C#字节数组和字符串怎么相互转换”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C#字节数组和字符串怎么相互转换”文章吧...
    99+
    2023-07-05
  • python3 字符串str和bytes相互转换
    目录1.相关基础2.str和bytes相互转换2.1 bytes->str2.2 str->bytes1.相关基础 python3中有两种字符串类型:str和bytes ...
    99+
    2024-04-02
  • C#字符串和Acsii码相互转换
    1,现在因为遇到一个读取pdf文件文本信息遇到乱么问题,才找到这个文本字符串的编码转换的实现方式来判断是否存在乱码(0>乱码>255): C# 字符转ASCII码,ASC...
    99+
    2023-02-06
    C#字符串和Acsii码转换 C#字符串转换Acsii码
  • JavaScript数据类型转换实例(其他类型转字符串、数值型、布尔类型)
    前言  什么是数据类型转换? 使用表单、prompt 获取过来的数据默认类型是字符串类型的,此时就不能直接进行加减法运算,而需要转换变量的数据类型。 通俗来说,数据类型转...
    99+
    2024-04-02
  • PHP中的数组和字符串怎么互相转换
    本篇内容介绍了“PHP中的数组和字符串怎么互相转换”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!PHP数组转字符串 implode() &l...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作