【Python基础】Python 3 Tutorial 专栏第一讲:Python的简单操作、数值运算、字符串、原位操作等
整理|Vincent
编辑|吴嘤嘤
今天开始,我们正式迈入Python 3 Tutorial 专栏第一讲的学习。
本讲目录:
·你的第一个程序
·简单操作
·浮点数
·其他数值运算
·字符串
·简单输入和输出
·字符串操作
·类型转换
·变量
·原位操作
·使用编辑器
·你的第一个程序
·让我们从创建一个显示"Hello world!"的短程序开始。
·在 Python 中,我们使用 print 语句输出文本:
>>> print('Hello world!')
Hello world!
·恭喜!你已经写了第一个程序。
在我们的 Code Playground 上运行,保存和共享您的 Python 代码,无需安装任何其他软件。
使用计算机时,您需要从 www.python.org 下载并安装 Python。
请注意上面代码中的>>>。它们是 Python 控制台的提示符号。Python 是一种解释型语言,这意味着每一行都在输入时执行。Python 还包括 IDLE,即集成开发环境,其中包括用于编写和调试整个程序的工具。
·打印文本
print 语句还可用于输出多行文本。
例如:
>>> print('Hello world!')
Hello world!
>>> print('Hello world!')
Hello world!
>>> print('Spam and eggs...')
Spam and eggs...
Python代码通常包含对喜剧团体Monty Python 的引用。这就是为什么:“Spam”和“eggs”这两个词经常被用作Python中的占位符变量,其中“foo”和“bar”将用于其他编程语言。
·Python 具有执行计算的能力。
·直接在 Python 控制台中输入计算,它将输出答案。
>>> 2 + 2
4
>>> 5 + 4 - 3
6
这里的加号和减号周围的空格是可选的(代码可以在没有它们的情况下工作),但它们使它更容易阅读。
·Python 还执行乘法和除法,使用星号表示乘法,使用正斜杠表示除法。
·使用括号来确定首先执行哪些操作。
>>> 2 * (3 + 4)
14
>>> 10/2
5
使用单个斜杠来划分数字会产生十进制(或浮点数,因为它在编程中调用)。我们将在后面的课程中详细介绍 floats。
·减号表示负数。
·对负数进行操作,就像在正数上一样。
>>> -7
-7
>>>(-7 + 2) * (-4)
20
加号也可以放在数字前面,但这没有作用,只强调一个数字有利于提高代码的可读性。
·在 Python 中除以零会产生错误,因为无法计算答案。
>>> 11 / 0
Traceback (most recent call last):
File "
ZeroDivisionError: division by zero
在 Python 中,错误消息的最后一行表示错误的类型。
仔细阅读错误消息,因为它们经常告诉您如何修复程序!
·Floats 在 Python 中用于表示非整数的数字。
·表示为浮点数的一些数字示例是 0.5 和-7.8237591。可以通过输入带小数点的数字或使用整数除法等操作直接创建它们。数字末尾的额外零被忽略。
>>> 3/4
0.75
>>> 9.8765000
9.8765
计算机不能完全准确地存储浮点数,就像我们无法写下 1/3 的完整十进制扩展(0.3333333333333333...)一样。记住这一点,因为它经常会导致令人激怒的错误!
·如前所述,除以任意两个整数会产生浮点数。
·在两个浮点数上运行操作,或者在浮点数和整数上,也可以生成浮点数。
>>> 8 / 2
4.0
>>> 6 * 7.0
42.0
>>> 4 + 1.65
5.65
浮点数可以添加到整数,因为 Python 会默认地将整数转换为浮点数。但是,这种隐式转换是异常而不是 Python 中的规则-如果要对它们进行操作,通常必须手动转换值。
·幂
·除了加法,减法,乘法和除法之外,Python 还支持取幂,即将一个数字提到另一个数字的幂。使用两个星号执行该操作。
>>> 2**5
32
>>> 9 ** (1/2)3.0
您可以将指数链接在一起。换句话说,您可以将数字增加到多个幂。例如,2**3**2。
·商和求余
·要确定除法的商和余数,请分别使用取整除和取模运算符。·使用两个正斜杠完成取整除。
·取模运算符使用百分号(%)执行。
·这些运算符可以与浮点数和整数一起使用。
·该代码表明 20 取整除 6 等于 3,而 1.25 除以 0.5 的余数为 0.25。
>>> 20 // 6
3
>>> 1.25 % 0.50.25
在上面的示例中,20 % 6将返回2,因为3 * 6 + 2等于20。
·字符串
·如果要在 Python 的中使用文本,则必须使用字符串。
·通过在两个单引号或双引号之间输入文本来创建字符串。
·当 Python 控制台显示字符串时,它通常使用单引号。用于字符串的分隔符不会以任何方式影响其行为。
>>> "Python is fun!"
'Python is fun!'
>>> 'Always look on the bright side of life'
'Always look on the bright side of life'
Python 中有另一种名为 docstrings 的字符串类型,用于块注释,但它实际上是一个字符串。您将在以后的课程中了解这一点。
·某些字符不能直接包含在字符串中。例如,双引号不能直接包含在双引号字符串中;这会导致它过早结束。
·必须通过在它们之前放置反斜杠来转义这些字符。
·必须转义的其他常见字符有换行符和反斜杠。
·双引号只需要在双引号字符串中进行转义,单引号字符串也是如此。
>>> 'Brian\'s mother: He\'s not the Messiah. He\'s a very naughty boy!'
'Brian's mother: He's not the Messiah. He's a very naughty boy!'
·\ n 表示新行。
反斜杠也可用于转义制表符,任意 Unicode 字符以及无法可靠打印的各种其他内容。这些字符称为转义字符。
·换行
·Python 提供了一种简单的方法来避免手动编写"\n"来转义字符串中的换行符。创建一个包含三组引号的字符串,按 Enter 键创建的换行符将自动为您转义。
>>> """Customer: Good morning.
Owner: Good morning, Sir. Welcome to the National Cheese Emporium."""
'Customer: Good morning.\nOwner: Good morning, Sir. Welcome to the NationalCheese Emporium.'
如您所见,\n 在我们按 Enter 键的地方自动输出。
·输出
·通常,程序接受输入并处理它以产生输出。
·在 Python 中,您可以使用 print 函数来生成输出。这会在屏幕上显示某些内容的文本表示。
>>> print(1 + 1)
2
>>> print("Hello\nWorld!")
Hello
World!
打印字符串时,不会显示其周围的引号。
·输入
·要在 Python 中获得用户的输入,您可以使用直观命名的输入函数。
·该功能提示用户输入,并返回它们作为字符串输入的内容(内容自动转义)。
>>> input("Enter something please: ")
Enter something please: This is what\nthe user enters!
'This is what\\nthe user enters!'
在 Python 控制台上,打印和输入功能不是很有用,它自动进行输入和输出。但是,它们在实际程序中非常有用。
·连接
·与整数和浮点数一样,可以通过连接添加 Python 中的字符串,这可以在任何两个字符串上完成。
·连接字符串时,它们是用单引号还是双引号创建并不重要。
>>> "Spam" + 'eggs''Spameggs'
>>> print("First string" + ", " + "second string")
First string, second string
您不能使用数字(整数)连接字符串。在下一课中找出原因。
·即使您的字符串包含数字,它们仍然作为字符串而不是整数添加。将字符串添加到数字会产生错误,即使它们看起来相似,但它们是两个不同的实体。
>>> "2" + "2"
'22'
>>> 1 + '2' + 3 + '4'
Traceback (most recent call last):
File "
TypeError: unsupported operand type(s) for +: 'int' and 'str'
在将来的课程中,只会显示最后一行错误消息,因为它是唯一一个提供有关已发生错误类型的详细信息的消息。
·字符串操作
·字符串也可以乘以整数。这会生成原始字符串的重复版本。字符串和整数的顺序无关紧要,但字符串通常是第一位的。
·字符串不能与其他字符串相乘。即使浮点数是整数,字符串也不能乘以浮点数。
>>> print("spam" * 3)
spamspamspam
>>> 4 * '2'
'2222'
>>> '17' * '87'
TypeError: can't multiply sequence by non-int of type 'str'
>>> 'pythonisfun' * 7.0
TypeError: can't multiply sequence by non-int of type 'float'
尝试将字符串乘以 0,看看会发生什么。
·在 Python 中,由于涉及的类型,不可能完成某些操作。例如,您不能将包含数字 2 和 3 的两个字符串一起添加以生成整数 5,因为操作将在字符串上执行,结果为'23'。
·解决方案是类型转换。
·在该示例中,您将使用 int 函数。
>>> "2" + "3"
'23'
>>> int("2") + int("3")
5
在 Python 中,到目前为止我们使用的类型是整数,浮点数和字符串。用于转换为这些的函数分别是 int,float 和 str。
·类型转换的另一个例子是将用户输入(字符串)转换为数字(整数或浮点数),以便进行计算。
>>> float(input("Enter a number: ")) + float(input("Enter another number: "))
Enter a number: 40
Enter another number: 2
42.0
传递非整数或浮点值将导致错误。
·变量
·变量在大多数编程语言中起着非常重要的作用,Python 也不例外。变量允许您通过将值分配给名称来存储值,该名称可用于在之后的程序中引用该值。
·要分配变量,请使用一个等号。与我们迄今为止所看到的大多数代码行不同,它不会在 Python 控制台上产生任何输出。
>>> x = 7
>>> print(x)
7
>>> print(x + 3)
10
>>> print(x)
7
您可以使用变量执行相应的操作,就像使用数字和字符串一样。如您所见,变量在整个程序中存储其值。
·可以根据需要多次重新分配变量,以便更改其值。
·在 Python 中,变量没有特定的类型,因此您可以将字符串分配给变量,然后将整数分配给同一个变量。
>>> x = 123.456
>>> print(x)
123.456
>>> x = "This is a string"
>>> print(x + "!")
This is a string!
但是,这不是好习惯。为避免错误,请尽量避免使用不同的数据类型覆盖相同的变量。
·尝试引用未分配的变量会导致错误。
·您可以使用 del 语句删除变量,这意味着将删除从名称到值的引用,并尝试使用该变量会导致错误。删除的变量可以正常重新分配。
>>> foo = "a string"
>>> foo
'a string'
>>> bar
NameError: name 'bar' is not defined
>>> del foo
>>> foo
NameError: name 'foo' is not defined
·您还可以从用户输入中获取变量的值。
>>> foo = input("Enter a number: ")
Enter a number: 7
>>> print(foo)
7
变量 foo 和 bar 称为伪变量,这意味着它们在示例代码中用作占位符名称来演示某些内容。
·原位操作允许您更简洁地编写类似'x = x + 3'的代码,如'x + = 3'。
·其他运算符也可以使用相同的功能,例如 -、*、/和%。
>>> x = 2
>>> print(x)
2
>>> x += 3
>>> print(x)
5
·这些运算符也可以用于数字以外的类型,例如字符串。
>>> x = "spam"
>>> print(x)
spam
>>> x += "eggs"
>>> print(x)
spameggs
许多其他语言都有特殊的运算符,例如'++'作为'x + = 1'的快捷方式。Python 没有这些。
·到目前为止,我们只使用 Python 与控制台,一次输入和运行一行代码。
·实际程序的创建方式不同;许多代码行都写在一个文件中,然后用 Python 解释器执行。
·在 IDLE 中,可以通过创建新文件,输入一些代码,保存文件和运行它来完成。这可以通过菜单或键盘快捷键 Ctrl-N,Ctrl-S 和 F5 完成。
·文件中的每行代码都被解释为您在控制台上一次输入一行代码。
x=7
x=x+2
print(x)
结果
·Python 源文件的扩展名为.py
您可以在我们的 Code Playground 上运行,保存和共享您的 Python 代码,而无需安装任何其他软件。
如果需要在计算机上安装软件,请参阅本课程。
往期精彩回顾
本站qq群704220115,加入微信群请扫码: