Hello, world!
Hello, world!
现在让我们看一个非常简单的Python代码示例。这段代码将显示一个非常基础的操作:在屏幕上打印(显示)文本。
点击代码框右端的▶来执行它,第一次执行可能会卡顿。你可以修改它,来打印不同的内容。
print('Hello, world!')
这行代码是Python中最基础的形式之一。
发生了什么?
- 首先,这是一行 python 代码,并且这行只有一个
表达式:print('Hello, world!')- 是表达式,意味着它可以被求出一个值,但是这里的重点在于求值的过程
print是一个 python 自带的函数(内置函数),作用是接收内容,并且在屏幕上显示。- 你不需要知道 python 如何在屏幕上显示文字,你只需要告诉它你想显示什么。
- 括号里面(如果有),是你传递给这个函数的内容
- 如果我们直接写
print,求出来的值就是函数本身,不会有任何作用- 如果在函数后面加一个括号(必须是英文),求值
print()会先调用(运行)这个函数(print),然后得到这个函数返回的值 - 调用
print不会返回任何值- 在 python 中,这意味着返回
None这个值
- 在 python 中,这意味着返回
- 这里返回的值不重要,重要的是,在求值过程中,调用
print时,它完成了我们想要的事情
- 如果在函数后面加一个括号(必须是英文),求值
- 事实上,
print本身是一个变量,只是它的值是一个函数,我们甚至可以改变它的值,这一点我们之后会涉及到
试一试!
print()
print(print)
print('print')
print(print())
print(print('hello'))
print(hello)
print('print(hello)')
print ( 'awa' )
在这个例子中,它会在屏幕上显示文本Hello, world!。
这个简单的例子体现了编程中的“抽象”概念。你不需要知道计算机如何在屏幕上显示文字,你只需要告诉它你想显示什么。这就是编程语言强大之处:它们隐藏了复杂的底层细节,让你可以专注于要解决的问题。
字符串
编程语言也是一门语言,虽然交给计算机去执行,但本质上是给人看的
就像我们说话一样,面包表示一块面包,而"面包"表示"面包"这个词本身
'包围起来,用于表示它是这些字符本身,而不是其它的功能代码
它的值是Hello, world!,也是我们想要显示的东西
具体来说,是
Hello,world!
我们称这样的内容为字符串(string, 缩写是str)
而'Hello, world!'是我们表示这个字符串的方法,称为这个字符串的字面量
提示
python 支持两种不同的引号('和")包裹的字符串,它们表示同样的意思
print("Hey there!")
表达式
python 可以直观地进行数学计算,直接写下想要表达的就是
运行一下,看看它们对应了什么样的数学计算
print(1+1)
python 会忽略一些空格,我们使用空格让代码更有可读性
你甚至能这样(并没有可读性)
print ( 2 * 3+ 1 )
print(8 + 10 * 2)
print(2 * 5 / 3)
print(2**3)
print(7//3) print(7%3)
正如你所见到的,+, - 对应数学中的加减,*, / 对应数学中的乘除
**对应数学中的乘方(在一些其它编程语言中是^)
//和%分别对应于取小学除法的 整数商 和 余数
python 会遵循运算符的优先级进行运算,同样优先级的运算符遵循从左到右的顺序,这也和数学的习惯一致
这样可以求出值的内容叫作表达式,'Hello, world!'有值,所以它也是表达式
如果你无法确定优先级,可以使用括号()将内容括起来
print(2 / ((3+1) * (1+1)))
为了求出整体的值,python 会去先求出局部的值,然后再进行计算
以此类推,所有的内容都会按照正确的顺序被计算
让我们看看发生了什么:
- 计算
2 / ((3+1) * (1+1)),发现需要先算出((3+1) * (1+1)))- 计算
((3+1) * (1+1))),发现需要先算出(3+1)和(1+1)- 计算
(3+1)得出4 - 计算
(1+1)得出2
- 计算
- 计算
(4*2)得出8.0
- 计算
- 计算
2/8.0得出0.25
挑战: 打印 2的31次方减一 的值
参考答案
print(2**31 - 1)