python期末考试及答案单引号、双引号和三引号_[转载]python中文编码问题以及单引号、双引号和三引号的区别...

1、 Python中文编码问题

Python中文编码问题!

今天闲来无事,试着使用Python语言开发一个商品信

息管理系统,刚声明了一个变量,就报了一堆错误,

真是郁闷啊!代码如下:

_proName='联想笔记本' print

_proName

运行代码出错,错误为:SyntaxError: Non-ASCII

character 'xc1' in file 11.py on line 1, but

no encoding declared;

see

details 【解决办法】字符串在Python内部的表示是

Unicode编码。在做编码转换时,通常需要以Unicode

作为中间编码,即先将其他编码的字符串解码

(decode)成Unicode,再从Unicode编码(encode)成另

一种编码。

decode()函数的作用就是将其他编码的字符串转换成

Unicode编码,例如str1.decode ('gb2312'),表示将

gb2312编码的字符串str1转换成Unicode编码。

encode()函数的作用是将Unicode编码转换成其他编码

的字符串,例如str2.encode('gb2312'),表示将

Unicode编码的字符串str2转换成gb2312编码。转换时

,一定要先搞明白字符串是什么编码,然后使用

decode()函数将字符串编码改为Unicode编码,然后再

使用encode()函数将编码改为其他编码格式。如果是

在UTF8的文件中,该字符串就是UTF8编码;如果在

gb2312编码的文件中,则其编码为gb2312。

2、Python中单引号、双引号和三引号的区别:先说1双引号与3个双引号的区别,双引号所表示的字

符串通常要写成一行

如:

s1 = "hello,world"

如果要写成多行,那么就要使用 (“连行符”)吧,

s2 = "hello,

world"

s2与s1是一样的。如果你用3个双引号的话,就可以直

接写了,如下:

s3 = """hello,

world,

hahaha.""",那么s3实际上就

是"hello,nworld,nhahaha.", 注意“n”,所以,

如果你的字符串里n很多,你又不想在字符串中用n

的话,那么就可以使用3个双

引号。而且使用3个双引号还可以在字符串中增加注释

,如下:

s3 = """hello, #hoho, this is hello, 在3个双引

号的字符串内可以有注释哦

world, #hoho, this is world

hahaha."""

这就是3个双引号和1个双引号表示字符串的区别了,3

个双引号与1个单引号的区别也

是和这个一样的,实际上python支持单引号是有原因

的,下面我来比较1个单引号和

1个双引号的区别。

当我用单引号来表示一个字符串时,如果要表示

Let's go 这个字符串,必须这样:

s4 = 'Let's go',注意没有,字符串中有一个',而

字符串又是用'来表示,所以

这个时候就要使用转义符 (,转义符应该知道吧

), 如果你的字符串中有一大堆

的转义符,看起来肯定不舒服,python也很好的解决

了这个问题,如下:

s5 = "Let's go"

这时,我们看,python知道你是用 " 来表示字符串,

所以python就把字符串中的那

个单引号 ' , 当成普通的字符处理了,是不是很简单

对于双引号,也是一样的,下面举个例子

s6 = 'I realy like "python"!'

这就是单引号和双引号都可以表示字符串的原因了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值