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

news2024/11/18 19:40:08

欢迎来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就讲解到这啦,如果你觉得写的不错的话,可以给个一键三连,点赞关注+收藏,若有不足,欢迎各位在评论区讨论。      

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网络层协议之IP协议

网络层主要做两方面事情: 1.地址管理:制定一系列规则,通过地址描述出网络上的一个设备的位置 2.路由选择:网络环境复杂,从一个节点到另一个节点之间有很多条路径,这就需要通过路由选择来筛选/规划出更合适…

Day18:LeedCode 513.找树左下角的值 112. 路径总和 106.从中序与后序遍历序列构造二叉树

513. 找树左下角的值 给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。 假设二叉树中至少有一个节点。 示例 1: 输入: root [2,1,3] 输出: 1 思路:出该二叉树的 最底层 最左边 节点的值找出深度最大的第一个结点(左结点先遍历) 方法一…

数据库与缓存一致性如何保证

最近建了一个技术交流群,欢迎志同道合的同学加入,群里主要讨论:分享业务解决方案、深度分析面试题并解答工作中遇到的问题,同时也能为我提供写作的素材。 欢迎加Q:312519302,进群讨论 前言 在工作中&#…

LangChain使用实例——RAG

Q&A with RAG Overview LLMs支持的最强大的应用程序之一是复杂的问答 (Q&A) 聊天机器人,这些应用程序可以回答有关特定源信息的问题,使用一种称为检索增强生成(RAG)的技术。 RAG RAG 是一种利用额外数据增强 LLM 知识…

linux 网卡配置 vlan/bond/bridge/macvlan/ipvlan 模式

linux 网卡模式 linux网卡支持非vlan模式、vlan模式、bond模式、bridge模式,macvlan模式、ipvlan模式等,下面介绍交换机端及服务器端配置示例。 前置要求: 准备一台物理交换机,以 H3C S5130 三层交换机为例准备一台物理服务器&…

如何用智能AI绘一幅世界地图?

今天我们分享一下,用智能AI绘一幅世界地图的方法! 为了方便你极速体验,特意在文末为你准备了登录帐号,省去你注册的烦恼。 认准AI绘画官网 如果你在百度搜索“AI绘画”或“Midjourney”,找出来的基本全是广告&#…

matplotlib画图:子图中坐标轴与标题重合...

如下图 只要在代码最后加入 plt.tight_layout() 就可以自动调节

Java练习题目6:水仙花数是指其个位,十位和百位三个数字的立方和等于其自身的三位数,求出所有的水仙花数。(Daddodil6)

每日小语 要相信卷首以卷尾为前提,几乎同卷尾以卷首为前提是一样的。——叔本华 思考 //水仙花数是指其个位,十位和百位三个数字的立方和等于其自身的三位数,求出所有的水仙花数。 import java.util.Scanner; public class Daddodil6 {publ…

服务运营 | 印第安纳大学翟成成:改变生活的水井选址

编者按: 作者于2023年4月在“Production and Operations Management”上发表的“Improving drinking water access and equity in rural Sub-Saharan Africa”探讨了欠发达地区水资源供应中的可达性和公平性问题。作者于2020年1月去往非洲埃塞俄比亚提格雷地区进行…

【Python进阶】:面向对象编程的力量:解锁封装、继承与多态的秘密武器

引言 在Python编程世界中,面向对象编程(Object-Oriented Programming, OOP)如同一把锋利的剑,它将现实世界的实体抽象为类,赋予程序更强的结构化、模块化特征,极大地提升了代码的可读性、可维护性和复用性…

抖音视频关键词批量采集工具|无水印视频爬虫提取软件

抖音视频关键词批量采集工具: 我们很高兴地介绍最新推出的抖音视频关键词批量采集工具,该工具集成了多项强大功能,让您轻松实现视频内容的批量提取和下载。以下是详细的功能解析和操作说明: 主要功能: 关键词批量提取…

如何使用PHP和RabbitMQ实现延迟队列(方式一)?

前言 今天我们来做个小试验,用PHP和RabbitMQ实现消息队列的延迟功能。 前期准备,需要安装好docker、docker-compose的运行环境。 需要安装RabbitMQ的可以看下面这篇文章。 如何使用PHP和RabbitMQ实现消息队列?-CSDN博客 一、安装RabbitM…

Python爬虫:爬虫基本概念、流程及https协议

本文目录: 一、爬虫的基本概念1.为什么要学习爬虫1.1 数据的来源1.2 爬取到的数据用途 2.什么是爬虫3. 爬虫的更多用途 二、爬虫的分类和爬虫的流程1.爬虫的分类2.爬虫的流程3.robots协议 三、爬虫http和https1.http和https的概念2.浏览器发送HTTP请求的过,2.1 http…

Tunes不能读取iPhone的内容,请前往iPhone偏好设置的摘要选项卡,然后单击恢复以将此iPhone恢复为出厂设置

重启itunes: 参考链接: https://baijiahao.baidu.com/s?id1642568736254330322&wfrspider&forpc 人工智能学习网站: https://chat.xutongbao.top

C++进阶--使用哈希表实现unordered_map和unordered_set的原理与实例

本文将介绍如何使用哈希表来实现C STL库中的unordered_map和unordered_set容器。我们将会解释哈希表的基本原理,并给出具体的代码示例,帮助读者更好地理解和应用哈希表。 哈希原理讲解–链接入口 set和map的实现的文章,与unordered_map实现类…

ros time 时间戳改为机器开机时间

文章目录 一、问题描述二、修改方法补充1. 时间类型2. 时间数据使用方法 一、问题描述 因项目需要,需要"ros::Time::now()" 改成获取机器开机时间,此处针对rospy的机器时间修改。 二、修改方法 修改ros源码的文件 /opt/ros/noetic/lib/python3/dist-packages/ros…

是德科技keysight DSOX3104A示波器

181/2461/8938产品概述: Keysight(原Agilent) InfiniiVision DSOX3104A 的价位较低,能够在满足您苛刻预算要求的情况下提供卓越性能,以及可选功能。是德(原安捷伦)突破性技术可以在相同的预算条件下提供更多更出色的示波器功能 Keysight(原A…

Navicat 干货 | 通过检查约束确保 PostgreSQL 的数据完整性

数据完整性对于任何数据库系统来说都是很重要的一方面,它确保存储的数据保持准确、一致且有意义的。在 PostgreSQL 中,维护数据完整性的一个强大工具是使用检查约束。这些约束允许你定义数据必须遵守的规则,以防止无效数据的插入或修改。本文…

[实战]Springboot与GB28181摄像头对接。摄像头注册上线(一)

与支持国标摄像头对接 前言:不想看教程?1、准备阶段1.1、我们会学到什么?1.2、创建项目1.3、pom中用到的依赖1.4 打开摄像头的网址(了解配置方式) 2、代码编写2.1、增加项目配置2.2、在config目录下创建SipConfig2.3、在service目录下创建Sip…

手机录屏在哪里找?手把手教你找到录屏功能

随着智能手机的普及和移动应用的快速发展,手机录屏功能变得越来越受欢迎。无论是记录游戏精彩瞬间、制作教程视频,还是为了保存重要的视频通话内容,手机录屏都能帮上大忙,可是很多人不知道手机录屏在哪里找,本文将介绍…