尽管交互式外壳程序适合一次运行一次Python指令,但是要编写整个Python程序,需要将指令键入文件编辑器。
交互式外壳窗口与文件编辑器窗口的区别:交互式外壳窗口将始终是带有>>>提示的窗口。
文件编辑器窗口将没有>>>提示。
是时候创建第一个程序了!当文件编辑器窗口打开时,在其中输入以下内容:
# This program says hello and asks for my name
print('Hello world!')
print('What is your name ?')
myName = input()
print('It is good to meet you , '+ myName)
print('The length of your name is:')
print(len(myName))
print('What is your age?')
myAge = input()
print('You will be ' + str(int(myAge) + 1) + ' in a year.')
输入源代码后,将其保存,这样就不必在每次启动IDLE时都要重新输入它。从文件编辑器窗口顶部的菜单中,选择文件->另存为。在’另存为’窗口中,hello.py在’文件名’字段中输入,然后点击”保存”。
保存后,让我们运行程序。选择运行->运行模块或F5。记住,必须在文件编辑器窗口而不是交互式Shell窗口中按F5。在程序要求时输入你的姓名。程序的输出如下所示:
>>>
Hello world!
What is your name?
ALEX
It is good to meet you, ALEX
The length of your name is:
4
What is your age?
8
You will be 9 in a year.
>>>
当没有更多的代码行可执行时,Python程序终止;也就是说,它停止运行。
分析程序代码
通过查看每一行代码来快速浏览它使用的Python指令。
第一部分:
# This program says hello and asks for my name
为注释,用来提醒自己代码正在做什么。井号(#)之后的该行文本都是注释的一部分。
PRINT()函数
该函数显示括号内字符串值
第二部分:
print('Hello world!')
print('What is your name ?')
该行print('Hello world!’)意思是打印出字符串中的文本’Hello world!’。当Python执行此行时,表示Python正在调用该print()函数,并且字符串值正在传递给该函数。传递给函数调用的值时一个参数。请注意引号不会打印出来。它们只是标记字符串的开始和结束位置。
注:也可以使用此功能放置空白行;只需要print()在括号之间插入任何内容即可。
INPUT()函数
该函数功能等待用户在键盘上键入一些文本,然后按Enter键。
第三部分:
myName = input()
此函数调用求值为等于用户文本的字符串,并且前一行代码将myName变量分配给该字符串值。
可以将input()函数调用视为一个表达式,该表达式的计算结果为用户键入的任何字符串。比如用户输入'ALEX',则该表达式的计算结果为myName = ‘ALEX'。
第四部分:print('It is good to meet you , ' + myName)
请记住,表达式始终可以为单个值求值。如果’ALEX’是存储myName在前一行中的值,则此表达式的计算结果为'It is good to meet you , ALEX’。然后print(),此单个字符串值将传递到,将其打印出来。
LEN()函数
该函数将计算出括号内一个字符串值(或者包含一个字符串的变量)的字符数的整数值。
第五部分:
print('The length of your name is:')
print(len(myName))
比如:
>>> len('hello world!')
12
>>> len('thanks for your help!')
21
>>> len('')
0
就像这些示例一样,len(myName)其结果为整数。然后将其传递到print()上显示出来。注意,它print()允许传递整数值或者字符串值。但是注意,当以下内容的时候,会显示错误:
>>> print('I am' + 27 + 'years old.')
Traceback (most recent call last):
File "", line 1, in
TypeError: can only concatenate str (not "int") to str
该print()函数不会导致该错误,而只是传递给表达式print()出现错误。
STR(),INT(),FLOAT()函数
如果想将整数29与要传递的字符串连接在一起print(),则需要获取值’29’,即字符串形式29。该str()功能可以将一个整数值转变为实际与它等值的一个字符串值的版本。
如下:
>>> str(27)
'27'
>>> print('I am ' + str(27) + ' years old.')
I am 27 years old.
所以,str(),int()和float()功能就是分别转变为字符串,整数和浮点数的形式。
如下:
>>> str(0)
'0'
>>> str(-3.44)
'-3.44'
>>> int('45 ')
45
>>> int('-99 ')
-99
>>> int(1.99)
1
>>> int(1.20)
1
>>> float('2.56')
2.56
>>> float(10)
10.0
通过这些函数,获得字符串、整数、或者浮点数形式。
第六部分:
print('What is your age?')
myAge = input()
print('You will be ' + str(int(myAge) + 1) + ' in a year.')
该myAge变量包含从返回的值input()。由于input()函数总是返回一个字符串(即使用户输入了数字),因此需要使用int(myAge)代码返回字符串对应的整数值myAge。然后将此整数值进行加1操作,即int(myAge) + 1。
加法的结果传递给str()函数:str(int(myAge) + 1)。返回的字符串值,然后用字符串连接在一起,形成一个大的字符串值。最终传递到print(),显示出来。
来源:【零基础学Python】Python的第一个程序 - 掘金juejin.im