Python中使用最多的数据类型是字符串,我们表达字符串的方式通常使用引号包裹具体的值,使用单引号或者双引号皆可。字符串操作不能涉及算术运算符中的减、乘、除以及取模、幂和地板除的操作,即便是字符串中的值定义为数字也不可以,如果使用字符串进行算术运算操作,Python会提示一种新的错误类型:TypeError(类型错误)。
Python作为一门不断发展与普及的语言,还在不断更新中。在学习时,建议找一些学习伙伴一起来学习和讨论,效果更佳。如果想学习Python,欢迎加入Python学习交流群(1104627612),一起督促,一起学习。
字符串可以使用和算术运算符中加号一致的符号,但是二者含义完全不同。操作符“+”使用在字符串中表示为拼接(concatenation),可以将操作符左右两侧的字符串拼接并打印出来。
HelloWorld打印出来之后容易引起阅读误会,如果两个字符串之间有个空格会更好。实现方式是定义一个变量space,赋予值为空格,然后在两个字符串之间添加“space”,这个字符串代指的含义是空格,再次输出,结果就是Hello World。
Python作为一门不断发展与普及的语言,还在不断更新中。在学习时,建议找一些学习伙伴一起来学习和讨论,效果更佳。如果想学习Python,欢迎加入Python学习交流群(1104627612),一起督促,一起学习。
Python中编写代码以英文居多,但是并不代表Python不支持中文。中文的字符串在Python中是可以正常输出的。但这个过程需要处理编码问题。
因为最初的计算机是美国人发明的,所以早期的编码处理只针对英文中常用的127个字母、数字和符号。美国人将这些编码整合到一张表中,被称为ASCII(中文称为:“阿斯柯”)编码表。但是这个编码表在处理中文的时候是完全不能满足要求的,所以后来我们制定了GB2312编码表,用来支持中文编码。
但是随着这个趋势的发展,日本人制定了Shift_JIS用来存储日文,韩国人制定了Euc-kr用来存储韩文,各国用各国的标准,这就导致多语言的文本中出现乱码显示的问题。
Python作为一门不断发展与普及的语言,还在不断更新中。在学习时,建议找一些学习伙伴一起来学习和讨论,效果更佳。如果想学习Python,欢迎加入Python学习交流群(1104627612),一起督促,一起学习。
为了统一编码标准,Unicode应运而生,它可以将所有的语言文字放到一套编码里面。一般情况下,Unicode用两个字节标识一个字符,如果碰到中文中较为偏僻的字,会用到四个字节。而这一编码标准支持了绝大多数的操作系统和编程语言。
假设定义一个变量a = 60,使用ASCII和Unicode表示的区别在于:
ASCII是一个字节存储,表示为:60转换成二进制(00111100)手动转换成二进制为111100,但是因为是一个字节,前面需要加2位0补齐八位。
Unicode是两个字节存储,表示为:60转换成Unicode(00000000 00111100)原理仍然是转换成二进制,但是因为是两个字节,不足的位数需要用0补齐。
但这样同时造就了一个新的问题,使用Unicode虽然可以统一编码标准,但是占用的计算机内存空间却变多了,以前只需要一个字节就能存储的数字60,现在至少需要两个字节,这比ASCII编码多了一倍的存储空间。
为了提升计算机的运行效率,又将Unicode编码转换成了“可变长编码”,我们称之为“UTF-8”编码。UTF-8可以根据实际的编码值进行长度的变化,英文字母占用一个字节,而汉字使用三个字节,碰到偏僻字才会使用4个字节,这一操作大大节约了计算机的内存空间。同时UTF-8还可以使用原有ASCII编码支持体系中的所有文件,可谓是一举两得。
理解这些之后,来看一下计算机系统通用的字符编码工作方式:在计算机内存中,统一使用Unicode字符,当需要移动到硬盘或者可存储设备的时候,可以转换为UTF-8编码。
如果在电脑中使用文本文档编辑,文件中读取的UTF-8被转换为Unicode字符到计算机内存中;编辑完成保存时再把Unicode转换为UTF-8格式保存到文件。
浏览网页的时候,服务器会把动态生成的Unicode内容转换成UTF-8再传输到浏览器,学习过html语言的同学会看到,表示该网页使用的是UTF-8编码。
Python作为一门不断发展与普及的语言,还在不断更新中。在学习时,建议找一些学习伙伴一起来学习和讨论,效果更佳。如果想学习Python,欢迎加入Python学习交流群(1104627612),一起督促,一起学习。