欢迎来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码中的字符都对应一个值而在计算机中,常见的几种字符编码包括:
ASCII(American Standard Code for Information Interchange):ASCII是最早的字符编码标准之一,它使用7位(后来扩展为8位)来表示128(后来扩展为256)个字符,包括英文字母、数字、标点符号和控制字符等。然而,ASCII只能表示有限的字符集,不支持非英文字符。
Unicode:Unicode是一种用于文本编码的国际标准,旨在涵盖世界上几乎所有的字符集合。Unicode字符集包含了来自各种语言和符号系统的字符,因此它是一种非常广泛的字符编码标准。
UTF-8(Unicode Transformation Format - 8-bit):UTF-8是一种变长的Unicode字符编码方案,它可以表示Unicode字符集中的任何字符,并且对于英文字母和ASCII字符使用单个字节表示,因此在互联网上广泛使用。
UTF-16(Unicode Transformation Format - 16-bit):UTF-16是另一种Unicode字符编码方案,它使用16位编码单元表示字符,可以表示Unicode字符集中的所有字符,但是对于英文字母和常见字符来说,通常需要两个字节来表示。
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
。utf8
是unicode
字符串以UTF-8格式编码后的字节序列,类型为bytes
。utf16
是unicode
字符串以UTF-16格式编码后的字节序列,类型为bytes
。utf32
是unicode
字符串以UTF-32格式编码后的字节序列,类型为bytes
。gbk
是unicode
字符串以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就讲解到这啦,如果你觉得写的不错的话,可以给个一键三连,点赞关注+收藏,若有不足,欢迎各位在评论区讨论。