Python3 - 开始python编程(三)
熟悉使用运算符
阅读本文前,请务必查看开始 python 编程(一)和开始 python 编程(二。对于其余的人,今天我们将讨论运算符和”none”。
尽管我们仍在介绍基础知识,但从今天开始,您将能够编写一个解决数学问题的程序,无论是来自幼儿园还是使用公式进行的高级财务计算。
基础
您需要了解操作顺序(PEMDAS)的概念。
如果您上的数学课太久了,请记住以下顺序:
- 括号(从内到外)
- 指数从左到右
- 从左到右的乘法
- 从左到右除法
- 从左到右加法
- 从左到右的减法
而已!
操作符
只要达到三年级,您就已经在编程中看到了大多数操作符。
让我们来看看您已经知道的那些:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Math Operators# Addition
sum = 10 + 20 # 30# Subtraction
difference = 100 - 75 # 25# Multiplication
product = 20 * 5 # 100# Division
quotient = 15 / 3 # 5# Floor Division
quotient = 15 // 2 # 7, a single '/' results in 7.5# Exponent
result = 3 ** 5 # 243# Comparison Operators# Greater than
result = 3 > 4 # False# Less than
result = 3 < 4 # True# Equal to
result = 3 == 4 # False# Greater than or equal to
result = 3 >= 4 # False# Less than or equal to
result = 3 <= 4 # True# Not equal to
result = 3 != 4 # True# Inverse (minus)
result = -(-100) # 100
result = -(100) # -100# Logical Operators# And - all elements must be True, not 0, or an empty string.
result = True and False # False# Or - any element must be True, not 0, or an empty string.
result = True or False # True# Not
result = not True # False# Is - Identity (points to the same object)
result = 1 is True # True# In - Membership (resides in range, list, or collection)
my_list = ['eggs', 'milk', 'cheese']
result = 'milk' in my_list # True
# Remainder - also known as modulo
result = 15 % 10
在编程中经常使用运算符。我们甚至可以将加法运算符用于非数学运算。例如,我们可以将其用于连接字符串。
1
2
3
first_name = "John"
last_name = "Doe"
full_name = first_name + " " + last_name # John Doe
请注意,虽然可以键入以下内容,但我使用了变量名:
1
full_name = "John" + " " + "Doe"
它显示了如何使用变量和常量来保存值,因此我们不必继续键入它们。我确定您注意到first_name
和last_name
的长度都超过了它们所拥有的值。 Visual Studio Code 和 PyCharm 都具有内置的自动完成功能,绝对可以节省生命,但是除此之外,并不总是知道 first_name 或 last_name 的值是什么。
加,减,乘,除的一种简便方法是将运算符追加到赋值运算符(您仍然可以使用加法运算符使用此方法来连接字符串):
1
2
3
4
first_number = 1
second_number = 2first_number += second_number # 3first_number *= second_number # 2first_number -= second_number # -1first_number /= second_number
first_number /= second_number # Guess the valuename = "John"
last_name = "Doe"name += " " + last_name # John Doe
希望您现在已经掌握了这一点,并且也许已经尝试过自己探索一下。练习总是好的。
None 运算符
None
是特别的。这意味着不存在。如果您来自其他语言,则它是null
或nil
的同义词。
None
并不意味着 0,它意味着没有价值。为了说明这一点,让我们考虑一下您有一个坐在桌子上的笔记本。该笔记本可以包含任意数量的页面。让我们假设其中有 200 页。在做笔记时,会将页面从笔记本上撕下来。当页面用完时,笔记本将仅剩。由于其中没有任何页面,因此我们将笔记本丢掉了。
尽管笔记本可以代表page_count
变量,但可以保存当前驻留在笔记本中的页面数。当记事本达到 0 页时,它对我们不再有用,因此我们在 Python 中删除了该记事本,如下所示:
1
del page_count
我们现在所拥有的只是一张空桌子,代表我们的程序。我们可以询问以下内容以确定笔记本(page_count
)是否仍然存在:
1
notebook_status = page_count is not None # False
我们本来可以检查page_count是否为None
,但对于notebook_status
来说是没有意义的。通过添加not
,我们通过询问page_count
是否存在来使世界变得正确。
现在,我想使用一个示例来添加有关 not
的重要信息:
1
page_count = None# is NOT the same asdel page_count
为什么? “None”是名为”NoneType”的类型。就像为变量分配null
或nil
一样,除了我们仍然会保留对该值的引用,这样垃圾回收不会释放内存。尽管这可以通过保留对内存的引用来使代码保持快速运行而进行的改进,但是如果要允许垃圾回收释放该内存,则必须使用del
,因为此方法还会删除对变量的引用。
总结
希望您对 Python 提供的一些运算符有所了解。
我们还了解了 None 类型,为什么当您要释放内存时为什么要使用此类型和其他方法。
在下一篇文章中,我们将介绍决策和循环。这是事物融合在一起的地方,我们将获得一些乐趣。在课程之间不要忘了练习。在编程中,练习有很长的路要走。