n在python中怎么用

Python09

n在python中怎么用,第1张

\n在python中用:

1、"\n"是换行符,表示换行

2、"\\"表示反斜杠(\)

3、"\t"表示制表符

4、'\"'表示双引号

print(r"aa\nn")加r消除特殊字符[\n]对字符串的影响。加了r之后,再打印字符串就会打印出完整的字符串。

含义

换行符与其他字符并没有区别由于换行符总是最后一个字符,所有直接选择除去最后一个字符的所有字符即可x='abc\n'x[:-1]也可以使用字符串的strip方法但是strip方法除了会去掉换行符还会去掉。

新建一个len()函数的使用py,中文编码声明注释:#coding=gbk,函数:len()作用:返回字符串、列表、字典、元组等长度。语法:len(str)。参数:str:要计算的字符串、列表、字典、元组等。返回值:字符串、列表、字典、元组等元素的长度。

刚开始学python,遇到一个字符串前面加r的问题

理论上,字符串前面加r,会消除转义字符对字符串的影响

例:

s=r'\tt'

print(s)

Output:

'\tt'

s='\tt'

print(s)

Output:

'        t'

但是我发现对\d这个转义字符是没影响的

例如

import re

def re_method():

s ='kjiabc5ty'

    print(re.search(r'abc\d',s).group())

if __name__ =='__main__':

re_method()

依然可以匹配到abc5,并输出

我百思不得其解

后来在谷歌上搜到答案,大致意思说的\d不是有效的转义序列,所以python不会更改它,所以'\d' == r'\d'是对的。由于\\  是 有效的转义序列,因此将其更改为\,因此您得到了该行为'\d' == '\\d' == r'\d'。所以,字符串有时会造成混乱。

下面我粘贴一段原话

There is a distinction you have to make between the python interpreter and the re module.

In python, a backslash followed by a character can mean a special character if the string is not rawed. For instance, \n will mean a newline character, \r will mean a carriage return, \t will mean the tab character, \b represents a nondestructive backspace. By itself, \d in a python string does not mean anything special.

In regex however, there are a bunch of characters that would otherwise not always mean anything in python. But that's the catch, 'not always'. One of the things that can be misinterpreted is \b which in python is a backspace, in regex means a word boundary. What this implies is that if you pass on an unrawed \b to the regular expression part of a regex, this \b gets substituted by the backspace  before  it is passed to the regex function and it won't mean a thing there. So you have to absolutely pass the b with its backslash and to do that, you either escape the backslash, or raw the string.

Back to your question regarding \d, \d has no special meaning whatsoever in python, so it remains untouched. The same \d passed as a regular expression gets converted by the regex engine, which is a separate entity to the python interpreter.

翻译过来

您必须在python解释器和re模块之间进行区分。

在python中,如果未原始字符串,则反斜杠后跟一个字符可以表示一个特殊字符。例如,\n表示换行符,\r表示回车,\t表示制表符,\b表示无损退格键。就其本身而言,\d在python字符串中并不表示任何特殊含义。

但是在regex中,有一堆字符在python中并不总是意味着任何东西。但这很重要,“并非总是如此”。可能被误解的一件事是\b在python中是退格,在正则表达式中是单词边界。这意味着如果您将未展开\b的正则表达式部分传递给正则表达式,则在将其传递给regex函数 之前, 它\b会被退格键所替代,并且 在 此处不会有任何意义。因此,您必须绝对传递b带有反斜杠的,然后要么转义反斜杠,要么原始字符串。

回到关于的问题\d,\d在python中没有任何特殊含义,因此保持不变。同样\d为正则表达式通过得到由正则表达式引擎,这是一个单独的实体来python解释转换。

总之,我还是理解不太清楚,但是总算知道了有这回事。

再次记录一下,

编程的目的就是为了处理信息,信息则是由各种不同类型的数据表示的,对数据的进一步处理也会使信息更加丰富和有效。

5.1变量

前面已经提到过“变量”这属语,下面再进一步解释一下。

在程序运行时,必须把数据导入计算机的存储单元中,但存储单元的命名是用二进制数表示的,晦涩难懂。为了方便起见,可以给存储单元起上一个通俗易懂的名字,即 变量名

变量的生命周期和程序的运行周期是相同的,一个程序运行解释,所占用的存储空间也就随之释放,用变量名表示的数据所占用的这个存储单元也就空闲了。

变量名的命名规则:

由字母、数字、下划线构成,必须由字母开头。

不能包含-、*、?、#、、;、/、、@、%、$、空格等特殊字符。

最好使用有含义的英文单词或汉语拼音。

最好采用小写字母。

不能使用保留字(已被Python语言系统本身赋予特定意义的单词)。Python的保留字如下表所示。

Python保留字列表

Python是区分大小写的,虽然可以将一个英文单词通过字母大小写不同而作为不同变量的变量名,但从程序可读性的角度看,的确不可取。

Python是一种动态类型的语言,变量的类型由变量的值决定。换而言之,给变量赋何种类型的值,变量就是该值的类型。给变量赋值可以通过赋值号(=)来实现。如:

>>>myvar=100

>>>type(myvar)

>>>myvar='tom'

>>>type(myvar)

在这个例子中,变量myvar首先赋值为100,显而易见,100是个整数,通过type()这个函数检测,变量myvar的类型为整数类型(int);接下来变量myvar赋值为‘tom’,通过type()这个函数检测,变量myvar的类型改变为字符串类型(str)。

不仅可以给一个变量赋值为常量,也可以赋值为另一个变量。如:

>>>a=100

>>>b=a

>>>b

100

在这个例子中,“b=a”的实际意义是,变量b和变量a指向同一个存储单元,既然是同一个存储单元,变量b和变量a本质上就是完全相同的,这就好比一个人除了本名之外,还有其他的名字,如笔名、昵称、乳名等等,虽然本质一样,但是可以在不同场合使用。

5.2关于Python的常量问题

在大多数语言中都有常量这个概念,但是Python却没有。其实仔细想想也好像没有设置常量的必要,只要一个变量的值不发生变化,即不给变量重新赋值,它的值当然不会变化,它便是个常量。

5.3基本数据类型

5.3.1整数型和浮点数

整数型(integer),可以是正整数、负整数和0,可以是十进制、八进制、二进制等。

浮点数(float),由整数部分和小数部分组成,主要用于处理包括小数的数。浮点数也可以用科学计数法表示。

5.3.2 字符串类型

字符串类型是由一系列的字母或者其他符号组成的数据序列,通常用单引号、双引号或三引号括起来。

用单引号和双引号括起来的字符串只能放在同一行,用三引号括起来的字符串可以分布在连续多行上。如:

name='我的名字叫王小明'

old="今年6岁"

introduce='''我想说: 我是中国娃

爱讲普通话

要学习写标准的汉字'''

print(name)

print(old)

print(introduce)

运行结果为:我的名字叫王小明

今年6岁

我想说: 我是中国娃

爱讲普通话

要学习写标准的汉字

不管是哪一种引号形式,括起来的部分是一个整体,包括空格和换行符都属于字符串的一部分。

为了保证特殊的输出效果,Python中的字符串支持转义字符,可使用反斜杠“”对一些特殊字符进行转义。常用的转义字符如下:

续行符

换行符

水平制表符

” 双引号

’ 单引号

一个反斜杠

f 换页

其中,续行符(“”)用于当一个字符串在一行写不下时用续行符进行连接,但通常更多的采用小括号“()”即可。

如:

第一种方法采用续行符(“”):

>>>str="A thousand wishes, a thousand plans and

a thousand resolutions are better than one action!"

>>>print(str)

A thousand wishes, a thousand plans and a thousand resolutions are better than one action!

第二种方法采用小括号():

>>>str=("A thousand wishes, a thousand plans and "

"a thousand resolutions are better than one action!")

>>>print(str)

A thousand wishes, a thousand plans and a thousand resolutions are better than one action!

下面举例说明换行符(“ ”)的用法:

>>>str=" 登鹳雀楼 白日依山尽, 黄河入海流。 欲穷千里目, 更上一层楼。 "

>>>print(str)

登鹳雀楼

白日依山尽,

黄河入海流。

欲穷千里目,

更上一层楼。

下面举例说明使用转义字符输出双引号(“)的方法:

>>>str="王之涣的诗《登鹳雀楼》中这样写道:" 白日依山尽,黄河入海流。欲穷千里目,更上一层楼。""

>>>print(str)

王之涣的诗《登鹳雀楼》中这样写道:" 白日依山尽,黄河入海流。欲穷千里目,更上一层楼。"

>>>

5.3.3布尔类型

布尔类型用来表示逻辑值,所谓逻辑判断的结果,不外乎“真”或“假”两种情况。在Python中“真”用True表示,“假”用False表示。如果布尔类型的变量参与算数运算,则True被当作1,False被当作0。

如:

>>>result=True

>>>print(result)

True

>>>print(result+1)

2

>>>result=False

>>>print(result)

False

>>>print(result+1)

1

5.3.4类型强制转换

Python是一种弱数据类型语言,可以通过给变量重新赋值的方法改变数据类型。但有时为了强制改变数据类型,就要使用类型转换函数来改变。

譬如,为了从键盘读入成绩的数据,可以用float()函数将input()语句读入的字符串转换为浮点数,再赋值给变量score。

>>>score=input("请输入您的成绩:")

请输入您的成绩:96.5 (从键盘输入96.5)

为了计算成绩比及格线高了多少分,使用下面的命令,发现出现了错误提示如下:

>>>score-60

Traceback (most recent call last):

File " ", line 1, in

score-60

TypeError: unsupported operand type(s) for -: 'str' and 'int'

这是属于类型错误,原因是从键盘读入的成绩值(96.5)并非数值类型,不能参与算数运算。用type()函数可以进一步查询变量score的数据类型。

>>>type(score)

使用float()函数进行强制转换后,就可以解决上述问题:

>>>score=float(input("请输入您的成绩:"))

请输入您的成绩:96.5

>>>score=float(score)

>>>type(score)

>>>score-60

36.5

下表列举了一些常用的类型转换函数: