文字常量
一个常量的一个例子是一个数字等5
,1.23
或类似的字符串'This is a string'
或"It's a string!"
。
它被称为文字,因为它是文字的 - 你从字面上使用它的价值。数字2
总是代表自己而不是其他 - 它是一个常量,因为它的值不能改变。因此,所有这些都被称为文字常量。
数字
数字主要有两种类型 - 整数和浮点数。
整数的一个例子就是整数2
。
浮点数(或简称浮点数)的例子是3.23
和52.3E-4
。的E
符号表示10的幂在这种情况下,52.3E-4
装置52.3 * 10^-4^
。
经验丰富的程序员注意事项
没有单独的
long
类型。的int
类型可以是任意大小的整数。
字符串
字符串是一个序列的字符。字符串基本上只是一堆字。
您将在几乎所有编写的Python程序中使用字符串,因此请注意以下部分。
单引号
您可以使用单引号指定字符串,例如'Quote me on this'
。
引号内的所有空格,即空格和制表符,都按原样保留。
双引号
双引号中的字符串与单引号中的字符串完全相同。一个例子是"What's your name?"
。
三重行情
您可以使用三引号指定多行字符串 - ("""
或'''
)。您可以在三引号内自由使用单引号和双引号。一个例子是:
'''This is a multi-line string. This is the first line.
This is the second line.
"What's your name?," I asked.
He said "Bond, James Bond."
'''
字符串是不可改变的
这意味着一旦创建了字符串,就无法更改它。虽然这可能看起来很糟糕,但事实并非如此。我们将会看到为什么这不是我们后面看到的各种程序的限制。
格式方法
有时我们可能想要从其他信息构造字符串。这是该format()
方法有用的地方。
将以下行保存为文件Test.py
:
format可以通过{index}占位符为字符串中的字符串进行赋值
需要注意的是参数的下标索引从0开始
另外index是可选的,所以我们也可以这样写
我们也可以命名参数,这样写
注意:此时我们需要给占位符中指定的变量名进行赋值如果不赋值,将会报错
Python 3.6引入了一种更简单的方法来命名参数,称为“f-strings”:
我们的参数将根据变量名进行自动注入,需要注意的是如果参数对应的变量不存在则会抛出异常
Python在format
方法中的作用是将每个参数值替换为规范的位置。可以有更详细的规格,例如:
# decimal (.) precision of 3 for float '0.333'
print('{0:.3f}'.format(1.0/3))
# fill with underscores (_) with the text centered
# (^) to 11 width '___hello___'
print('{0:_^11}'.format('hello'))
# keyword-based 'Swaroop wrote A Byte of Python'
print('{name} wrote {book}'.format(name='Swaroop', book='A Byte of Python'))
输出:
0.333
___hello___
Swaroop wrote A Byte of Python
由于我们正在讨论格式化,请注意print默认以
字符(\n
)结束,以便重复调用print
将在每个单独的行上打印。要防止打印此换行符,您可以指定它应end
为空白:
print('a', end='')
print('b', end='')
输出是:
ab
或者你可以end
用空格:
print('a', end=' ')
print('b', end=' ')
print('c')
输出是:
a b c
Python的print方法支持多个参数并且会将两个相邻的字符串自动并成为一个字符串
例:
下标/索引
Python中字符串可以通过下标获取其中的指定位置的字符起始下标为 0,并且支持负数获取,通过负数获取时,下标从字符串末尾最后一位开始算起,起始下标为 -1
除索引外,还支持切片。虽然索引用于获取单个字符,但切片允许您获取子字符串:
需要注意的是,下标截取的字符串是从下标参数1开始小于参数2结束!!!注意:是小于第二个参数的下标!!!
如果切片字符串时不传第一个参数,默认从0开始,如果不传第二个参数默认到字符串截止为止
如果感觉不好理解我们也可以通过索引的存储形式来记下标的计算方式
由于Python中的字符串是不可变的,所以当我们尝试使用下标的方式来改变字符串中的某个字符会抛出异常
正确做法应该是创建一个新的字符串
如果你想替换字符串的最后一个字符又不知道这个字符串的准确长度时,可以使用 len() 方法来获取字符串的长度
转义序列
假设,你想要一个包含单引号('
)的字符串,你将如何指定这个字符串?例如,字符串是"What's your name?"
。您无法指定,'What's your name?'
因为Python会对字符串的开始和结束位置感到困惑。因此,您必须指定此单引号不表示字符串的结尾。这可以借助所谓的转义序列来完成。您将单引号指定为\'
:注意反斜杠。现在,您可以将字符串指定为'What\'s your name?'
。
指定此特定字符串的另一种方法是"What's your name?"
使用双引号。类似地,您必须使用转义序列在双引号字符串中使用双引号。此外,您必须使用转义序列指示反斜杠本身\\
。
如果你想指定一个两行字符串怎么办?一种方法是使用如前所示的三引号字符串,或者您可以使用转义字符的转义序列 - \n
指示新行的开头。一个例子是:
'This is the first line\nThis is the second line'
另一个有用的转义序列是标签:\t
。还有更多的转义序列,但我在这里只提到了最有用的转义序列。
需要注意的一点是,在字符串中,行末尾的单个反斜杠表示字符串在下一行中继续,但不添加换行符。例如:
"This is the first sentence. \
This is the second sentence."
相当于
"This is the first sentence. This is the second sentence."
原始字符串
如果需要指定一些不处理转义序列等特殊处理的字符串,那么您需要的是通过前缀或字符串指定原始字符串。一个例子是:
正常情况下如果我们输入了转义符又想让他只作为一个字符串中的符号,那么我们可以在字符串前面加 r 来声明
例:
正则表达式用户注意事项
处理正则表达式时始终使用原始字符串。否则,可能需要进行大量的回击。例如,反向引用可以称为
'\\1'
或r'\1'
。
变量
使用文字常量很快就会变得无聊 - 我们需要某种方式来存储任何信息并操纵它们。这是变量进入图片的地方。变量正是名称所暗示的 - 它们的值可以变化,即,您可以使用变量存储任何内容。变量只是计算机内存中存储某些信息的部分。与文字常量不同,您需要一些访问这些变量的方法,因此您可以为它们命名。
标识符命名
标示符由:字母 数字 下划线 组成,其中数字不能开头;
例如:abc __score ab2;
标示符区分大小写;
helloworld , HelloWorld , HELLOWORLD为三个名字;
与java命名规范应该都是相同的,大家可以自行搜索查看下Java命名规范
数据类型
变量可以包含称为数据类型的不同类型的值。基本类型是数字和字符串,我们已经讨论过了。在后面的章节中,我们将看到如何使用类创建自己的类型。
并且Python是一个强面向对象语言,也就是说包括变量在内都看做为一个对象
需要注意的就是在三引号内如(“”“xxx”“”)或('''xxx''')进行了换行输入,那么输出结果也会进行换行
剩余大部分的常识性的基础就不在写下去了如果学过一门变成语言的话 那么这些都基本是通用的