【Python】python编程初探2---字符编码,输入和输出,初识数据类型

欢迎来CILMY23的博客

本篇主题为【Python】python编程初探2---字符编码,输入和输出,初识数据类型

个人主页:CILMY23-CSDN博客

Python系列专栏:​​​​​​​http://t.csdnimg.cn/rAsEH

上一篇博客:http://t.csdnimg.cn/Bhfzf

感谢观看,支持的可以给个一键三连,点赞关注+收藏。


 本文前言

在上一篇博客中了解一些基本语法后,本期会将剩下的一些语法---字符编码,然后我们就进入python基础模块,输入和输出以及python中的数据类型,数字(整型,浮点数,布尔值,负数),字符串,列表,元组,字典,集合

一、python中的语法规则 

1.9 字符编码 

 过去我们在学C语言的时候接触过一种编码---ASCII码表,我们知道ASCII码中的字符都对应一个值而在计算机中,常见的几种字符编码包括:

  1. ASCII(American Standard Code for Information Interchange):ASCII是最早的字符编码标准之一,它使用7位(后来扩展为8位)来表示128(后来扩展为256)个字符,包括英文字母、数字、标点符号和控制字符等。然而,ASCII只能表示有限的字符集,不支持非英文字符。

  2. Unicode:Unicode是一种用于文本编码的国际标准,旨在涵盖世界上几乎所有的字符集合。Unicode字符集包含了来自各种语言和符号系统的字符,因此它是一种非常广泛的字符编码标准。

  3. UTF-8(Unicode Transformation Format - 8-bit):UTF-8是一种变长的Unicode字符编码方案,它可以表示Unicode字符集中的任何字符,并且对于英文字母和ASCII字符使用单个字节表示,因此在互联网上广泛使用。

  4. UTF-16(Unicode Transformation Format - 16-bit):UTF-16是另一种Unicode字符编码方案,它使用16位编码单元表示字符,可以表示Unicode字符集中的所有字符,但是对于英文字母和常见字符来说,通常需要两个字节来表示。

  5. UTF-32(Unicode Transformation Format - 32-bit):UTF-32是一种固定长度的Unicode字符编码方案,每个字符都使用32位编码单元表示,因此它可以直接映射Unicode字符集中的任何字符,但是它的存储空间通常较大。

除此之外还有专门用来解决中文编码的字符编码---GBK

GBK是中国国家标准局制定的汉字字符集,是GB2312的扩展版本。它采用双字节编码方案,每个汉字由两个字节表示,能够表示超过20000个汉字和符号,并支持简体中文以及其他一些东亚语言字符。 

 在Python3.12.2中默认的字符编码是Unicode编码,支持大多数不同国家的语言。

1.11 字符编码间的相互转换 

 编码(Encoding)和解码(Decoding)是将数据从一种形式转换为另一种形式的过程,如果需要对字符进行不同编码格式的转换,可以使用python自带的encode()函数和decode()函数,使用如下:

温馨提示:type是用来查看数据类型的在下一篇博客会讲解到本篇先用着

unicode = "博客"
print("Unicode:", type(unicode), ",", unicode)
utf8 = unicode.encode("utf8")
print("UTF-8:", type(utf8), ",", utf8)
utf16 = unicode.encode("utf16")
print("UTF-16:", type(utf16), ",", utf16)
utf32 = unicode.encode("utf32")
print("UTF-32:", type(utf32), ",", utf32)
gbk = unicode.encode("gbk")
print("GBK:", type(gbk), ",", gbk)

de_gbk = gbk.decode("gbk")
print("De_GBK:", type(de_gbk), ",", de_gbk)

 结果如下:

​​​​​​​

  • unicode是一个Unicode字符串,类型为str
  • utf8unicode字符串以UTF-8格式编码后的字节序列,类型为bytes
  • utf16unicode字符串以UTF-16格式编码后的字节序列,类型为bytes
  • utf32unicode字符串以UTF-32格式编码后的字节序列,类型为bytes
  • gbkunicode字符串以GBK格式编码后的字节序列,类型为bytes
  • de_gbk是将gbk字节序列以GBK格式解码后得到的Unicode字符串,类型为str

二、输入和输出

2.1 input()输入

Python 提供input()函数由标准输入读入一行文本,input()函数主要用于标准输入流(stdin),即从控制台或命令行窗口获取用户输入。它不适用于其他类型的输入流,如文件、网络连接或其他非标准输入源。

格式如下:

        变量 = input("可输入的内容")

 例如:

# 2.1 input()输入
print("请输入你的博客名字")
csdn_name = input()
print("你的博客名字为:",csdn_name)

 结果如下:

input简化:

# 我们可以简化头两行
csdn_name = input("请输入你的博客名字")

# 不推荐中文标识符
名字 = input("请输入你的名字")

2.2 print()输出 

Python 中的输出通常通过 print() 函数来实现。print() 函数可以接受一个或多个参数,并将它们打印到标准输出(通常是控制台)。

2.2.1 输出单个字符串 

格式:

print("你想输出的内容")

例如:

print("Hello, world!")

输出: 

 

 2.2.2 输出多个对象

 平常编程的时候我们肯定输出不止有一个字符串这样的,我们肯定是需要输出多个对象

格式: 

print("你想输出的内容","你想输出的内容","你想输出的内容","你想输出的内容".......)

 例如:

name = "Alice"
age = 30
print("Name:", name, "Age:", age)

结果:

 

当然我们可以修改分隔符,那什么是分隔符 ?在计算机科学中,分隔符是用于分隔或界定数据的字符或字符串。它们用于将文本或数据分成不同的部分或字段,以便在处理和解析时进行识别和区分。常见的分隔符包括逗号(,)、空格、制表符(\t)、分号(;)、竖线(|)等

在python中我们可以修改分隔符

 例如:

name = "Alice"
age = 30
print("Name:", name, "Age:", age, sep='-')

结果:(当然这样有点不美观)

 

2.2.3  输出固定格式符的数据

 这一部分跟C语言学习中是差不多的,用一种固定的占位符(C语言是这个名称)来格式化输出一些数据

  • %s:字符串格式化,用于将一个对象格式化为字符串。
  • %d:整数格式化,用于将一个整数格式化为十进制数。
  • %f:浮点数格式化,用于将一个浮点数格式化为小数形式。
  • %x:十六进制格式化,用于将一个整数格式化为十六进制数。
  • %o:八进制格式化,用于将一个整数格式化为八进制数。
  • %10s:指定字段宽度为10,右对齐字符串。
  • %-10s:指定字段宽度为10,左对齐字符串。
  • %.2f:指定小数点后保留两位小数。

当然格式符不止这些,感兴趣的可以细查 

 例如:

a = 100

# 字符串格式化:%s
print("a = %s" % a)

# 整数格式化:%d
print("a = %d" % a)

# 浮点数格式化:%f
print("a = %f" % a)

# 十六进制格式化:%x
print("a = %x" % a)

# 八进制格式化:%o
print("a = %o" % a)

在C语言中我们需要按照格式输出多个对象,都是通过%d这种占位符号来实现的,而在我们所下载的python3.12版本中推荐使用字符串的format()方法或 f-string 来进行字符串格式化,而不是使用%格式符。

format:

name = "Alice"
age = 30
print("Name: {}, Age: {}".format(name, age))

 结果:

但我们更习惯用这种方式来输出数据: 

name = "Alice"
age = 30
print(f"Name: {name}, Age: {age}")

结果如下:

 

三、数据类型

在C语言中有各种各样的数据类型,整型,浮点型,布尔类型,数组,结构体等等,在python中我们有以下的数据类型 ,在这篇博客中,我们主要初步了解数据类型,下篇博客我们将深入了解python中的数据类型及其用法。

感谢各位同伴的支持,本期python就讲解到这啦,如果你觉得写的不错的话,可以给个一键三连,点赞关注+收藏,若有不足,欢迎各位在评论区讨论。      

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/492200.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【第二部分--Python之基础】02

二、运算符与程序流程控制 1、运算符 1.1 算术运算符 算术运算符用于组织整数类型和浮点类型的数据,有一元运算符和二元运算符之分。 一元算术运算符有两个:(正号)和-(负号),例如&#xff1…

单臂路由和三层交换机

目录 一.单臂路由 1.单臂路由的工作原理 2.单臂路由的配置 2.1画出拓扑图 2.2配置PC 2.3配置交换机 2.4配置路由器 2.5测试 二.三层交换机 1.三层交换机的概述 2.三层交换机的配置 2.1画出拓扑图 2.2配置PC 2.3配置二层交换机 2.4配置三层交换机 2.5测试 3.拓展 三.总结 一.…

【linux深入剖析】基础IO操作 | 使用Linux库函数实现读写操作 | 文件相关系统调用接口

🍁你好,我是 RO-BERRY 📗 致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 🎄感谢你的陪伴与支持 ,故事既有了开头,就要画上一个完美的句号,让我们一起加油 目录 前言1.复习C文件IO相关操…

【Java面试题】计算机网络

文章目录 1.计算机网络基础1.1网络分层模型/OSI七层模型是什么?1.2TCP/IP四层模型是什么?每一层的作用?1.2.1TCP四层模型?1.2.2为什么网络要分层? 1.2常见网络协议1.2.1应用层常见的协议1.2.2网络层常见的协议 2.HTTP2…

2024年天津农学院退役大学生士兵专升本专业课报名的通知

天津农学院2024年退役大学生士兵高职升本科专业课考试报名的通知 按照《2024年天津市高职升本科招生实施办法》(津招办高发〔2023〕14号)文件要求,现将天津农学院2024年高职升本科退役大学生士兵专业课考试报名、确认、缴费及考试等具体事项…

C++入门(一)

目录 命名空间: 为什么要提出命名空间? 命名空间的定义: 命名空间的使用: 加命名空间名称及作用域限定符: 使用using将命名空间中某个成员引入: 使用using namespace命名空间名称引用: C…

惊艳亮相!新版飞桨星河社区邀您共赴星辰大海

亲爱的开发者们: ​一场始于好奇、归于热爱的邂逅,让开发者们在飞桨星河社区相聚,相逢于活动、课程、比赛、项目……五年来,千万开发者的共同参与,让这个社区更富活力、更加温暖。 2018年,AI Studio 1.0版…

解决里面 switch里面解决非 final 资源 ID 相关的报错

报错 在只需要在gradle.properties下代这行代码码解决问题 #android.nonFinalResIdsfalse 其他配置 android.useAndroidXtrue android.enableJetifiertrue android.injected.testOnlyfalse android.nonTransitiveRClasstrue android.nonFinalResIdsfalse 解释如下&#xff1…

Longhorn简介

Longhorn 是 Kubernetes 的轻量级、可靠且易于使用的分布式块存储系统。 Longhorn 是免费的开源软件。最初由 Rancher Labs 开发,现在作为CNCF( Cloud Native Computing Foundation )的沙箱项目进行开发。 使用 Longhorn,您可以&…

建筑结构设计的内容与要求,建筑工程结构设计资料大全

一、资料描述 本套建筑设计资料,大小4.62G,1个压缩文件。 二、资料目录 0-结构设计 1-快速建模方法 A-satwe资料 B-剪力墙资料 C-地下室资料 D-基础 E-楼梯 F-水池 G-砖混结构 H-挡土墙 I-框剪结构 J-常用规范 K-配筋率计算方法 L-底框结…

机器学习笔记(2)—单变量线性回归

单变量线性回归 单变量线性回归(Linear Regression with One Variable)1.1 模型表示1.2 代价函数1.3 代价函数的直观理解1.4 梯度下降1.5 梯度下降的直观理解1.6 梯度下降的线性回归 单变量线性回归(Linear Regression with One Variable) ps:...今天很倒霉 一名小女孩悄悄地碎…

【Java程序设计】【C00376】基于(JavaWeb)Springboot的社区帮扶对象管理系统(有论文)

【C00376】基于(JavaWeb)Springboot的社区帮扶对象管理系统(有论文) 项目简介项目获取开发环境项目技术运行截图 博主介绍:java高级开发,从事互联网行业六年,已经做了六年的毕业设计程序开发&am…

常见的端口漏洞

ftp FTP服务端有很多 anonymous 匿名未授权访问 爆破ssh root密码爆破 后门用户 可以google查一些关于ssh后门的文章 里面的默认密码 可能会登入进去telnet 一般会发生在 路由器 或者交换机 嵌入式设备 管理端口 攻击方法 弱口令 25 smtp 默认用户 默认密码 邮件账号爆破 80 ht…

DasViewer电脑客户端打开文件夹时,一直显示崩溃,该怎么解决?

问题如图 如若用的是DasViewer V3.2.4Beta版本,可以换回3.2.1版本进行尝试。 DasViewer是由大势智慧自主研发的免费的实景三维模型浏览器,采用多细节层次模型逐步自适应加载技术,让用户在极低的电脑配置下,也能流畅的加载较大规模实景三维模型,提供方便快捷的数据浏…

【Linux】生产者消费者模型{基于BlockingQueue的PC模型/RAII风格的加锁方式/串行,并行,并发}

文章目录 1.认识PC模型2.基于BlockingQueue的PC模型2.1串行,并行,并发2.2理解linux下的并发2.2RAII风格的加锁方式2.3阻塞队列2.4深入理解pthread_cond_wait2.5整体代码1.Task.hpp2.lockGuard.hpp3.BlockQueue.hpp4.pcModel.cc 3.总结PC模型 1.认识PC模型…

校园气象观测站-科普教育

TH-XQ4校园气象观测站的作用主要体现在以下几个方面: 气象监测与数据收集:校园气象观测站能够实时监测并记录校园及其周边区域的气象数据,如温度、湿度、风速、风向、降雨量等。这些数据对于了解当地气候特点、分析气候变化趋势以及预测未来天…

“人工智能+”国家战略会带来哪些机会?

一、“人工智能”战略背景 2024年的中国政府工作报告首次引入了“人工智能”的概念,这是国家层面对于人工智能技术和各行业深度融合的重要战略举措。这一概念的提出意味着我国将进一步深化人工智能技术的研发应用,并积极推动人工智能与经济社会各领域的…

JS——三维评分确定客户等级

一、需求描述:如下图,目前有ABC三个维度的评分,每个维度有10个得分区间,客户评分落在1-4区间则等级为E,落在5—8区间则等级为D,落在9-10区间则等级为C,C为对称轴,B和D对称&#xff0…

网络安全——容器安全 不容忽视!

容器安全是使用安全工具和策略来保护容器化应用程序的各个方面免受潜在风险的过程。 为什么容器安全很重要? 随着世界各地的组织向容器化基础设施过渡,越来越多的关键工作负载在容器中运行,使它们成为攻击者的主要目标。受损的容器可能会威胁…

如何在半个月时间通过软考中级考试?软考改革后、不可不知机考的一些注意事项?

前言 文章底部有彩蛋!!! 去年工作之余备考了半个月、一次通过了软件设计师考试。这篇文章主要分享自己的备考经验以及软考改革后 机考注意点、希望对今年五月份参加软考的朋友有些帮助 拥有软考证书的好处 1、软考证书认可度高: 近年来《国家…