相关文章推荐
大方的香烟  ·  centos7,Python2.7安装req ...·  10 月前    · 
魁梧的葫芦  ·  yql - No weather data ...·  2 年前    · 

str1和str2是没有任何区别的。但是如果遇到需要转义字符的情况,来看单引号和双引号的版本。

单引号版本:

str3 = 'We all know that \'A\' and \'B\' are two capital letters.'

双引号版本:

str4 = "We all know that 'A' and 'B' are two capital letters."

单引号需要加 '' 来让编译器判断目前是转义字符,而双引号方便了很多。

反之,如果字符串中有双引号,为了避免使用转义符,可以使用单引号来定义这个字符串。

str5 = 'The teacher said: "Practice makes perfect" is a very famous proverb.'

二、3个单引号及3个双引号

实际上3个单引号和3个双引号不经常用,但是在某些特殊格式的字符串下却有大用处。

通常情况下我们用单引号或者双引号定义一个字符串的时候只能把字符串连在一起写成一行

如果非要写成多行,就得在每一行后面加一个\表示连字符,比如:

str1 = "List of name:\
        Hua Li\
        Chao Deng"

而且即使你这样写也不能得到期望的输出:

List of name:
Hua Li
Chao Deng

实际上输出是下面这样的:

>>> str1 = "List of name:\
...         Hua Li\
...         Chao Deng"
>>> print(str1)
List of name:        Hua Li        Chao Deng

那么该如何得到我们期望的一行一个名字的输出格式呢?这就是 3个引号 的作用了:

>>> str1 = """List of name:
... Hua Li
... Chao Deng
... """
>>> print(str1)
List of name:
Hua Li
Chao Deng

虽然我们也可以通过给字符串加上\n实现:

>>> str1 = "List of name:\nHua Li\nChao Deng"
>>> print(str1)
List of name:
Hua Li
Chao Deng

但是这样在输入的时候看起来就乱了很多。所以这种情况下尽量使用3个引号,至于3个单引号还是双引号都是一样的,只需要注意如果字符串中包含有单引号就要使用双引号来定义就好了。

而且使用3个引号还有一个特别棒的作用就是:加注释

>>> str1 = """
... List of name:
... Hua Li # LiHua
... Chao Deng # DengChao
... """
>>> print(str1)
List of name:
Hua Li # LiHua
Chao Deng # DengChao

此外,多行注释也可以用用三个单引号 ''' 或者三个双引号 """ 将注释括起来,例如:

单引号版本:

#!/usr/bin/python3 
这是多行注释,用三个单引号
这是多行注释,用三个单引号 
这是多行注释,用三个单引号
print("Hello, World!")

双引号版本:

#!/usr/bin/python3 
这是多行注释,用三个双引号
这是多行注释,用三个双引号 
这是多行注释,用三个双引号
print("Hello, World!")
                            
java 签名校验工具 java签名机制

java web传输中的安全签名说明: 对请求中的数据 Key对进行签名,最终生成一个签名字符串,标记为sign:"djflw8wejwl9w0ejwlush8fw9ew9",位数64位或32位,服务器端拿到相关数据同样进行签名,与客户端传入的进行比对,如果签名不一致,说明请求数据被篡改,根据业务场景进行相应的拒绝。/** * 签名校验 * @param reqMap * @param ke

#统计指定值在列表中出现的次数,count(value)方法: lst.count('a') #index返回指定值在列表中的位置,不存在返回异常,index(value,,[start,stop]) lst.index('a') #find函数,string类型才