输入input和输出print
print输出
用print()在括号中加上字符串,就可以向屏幕上输出指定的文字。比如输出'hello, world',用代码实现如下:>>> print('hello, world')
print()函数也可以接受多个字符串,用逗号“,”隔开,就可以连成一串输出:>>> print('The quick brown fox', 'jumps over', 'the lazy dog')
The quick brown fox jumps over the lazy dog
print()会依次打印每个字符串,遇到逗号“,”会输出一个空格,因此,输出的字符串是这样拼起来的:
print()也可以打印整数,或者计算结果:>>> print(300)
300
>>> print(100 + 200)
300
因此,我们可以把计算100 + 200的结果打印得更漂亮一点:>>> print('100 + 200 =', 100 + 200)
100 + 200 = 300
注意,对于100 + 200,Python解释器自动计算出结果300,但是,'100 + 200 ='是字符串而非数学公式,Python把它视为字符串,请自行解释上述打印结果。
输出格式美化
Python两种输出值的方式: 表达式语句和 print() 函数。
第三种方式是使用文件对象的 write() 方法,标准输出文件可以用 sys.stdout 引用。
如果你希望输出的形式更加多样,可以使用 str.format() 函数来格式化输出值。
如果你希望将输出的值转成字符串,可以使用 repr() 或 str() 函数来实现。str(): 函数返回一个用户易读的表达形式。
repr(): 产生一个解释器易读的表达形式。>>> s = 'Hello, Anson'
>>> s
'Hello, Anson'
>>> print(s)
Hello, Anson
>>> repr(s)
"'Hello, Anson'"
>>> print(repr(s))
'Hello, Anson'
>>>
>>> # repr() 函数可以转义字符串中的特殊字符
>>> hello='Hello, Anson\n'
>>> hellos=repr(hello)
>>> hellos
"'Hello, Anson\\n'"
>>> print(hellos)
'Hello, Anson\n'
>>> h=repr(('X','Y',('Z','XYZ')))
>>> h
"('X', 'Y', ('Z', 'XYZ'))"
拓展示例print("Hi Anson, Welcome to you!")
print("程序喵欢迎您")
# 连续输出 只需要在后面加上 * 数量 即可
print("I Love You\n" * 6)
print(r"想要输出 \n 只需要,在引号前面加上 r 字符即可")
# 中间使用","逗号 可以用作拼接字符串,但是逗号会变成空格符号
print("你好,","安森")
# 使用 %s 方式[占位符],可以解决逗号变成空格符号的问题
print("你好,%s!" % "安森")
print(type("你好 Anson"))
输出
Hi Anson, Welcome to you!
程序喵欢迎您
I Love You
I Love You
I Love You
I Love You
I Love You
I Love You
想要输出 \n 只需要,在引号前面加上 r 字符即可
你好, 安森
你好,安森!
input输入
现在,你已经可以用print()输出你想要的结果了。但是,如果要让用户从电脑输入一些字符怎么办?Python提供了一个input(),可以让用户输入字符串,并存放到一个变量里。比如输入用户的名字:>>> name = input()
Michael
当你输入name = input()并按下回车后,Python交互式命令行就在等待你的输入了。这时,你可以输入任意字符,然后按回车后完成输入。
输入完成后,不会有任何提示,Python交互式命令行又回到>>>状态了。那我们刚才输入的内容到哪去了?答案是存放到name变量里了。可以直接输入name查看变量内容:>>> name
'Michael'
什么是变量?
请回忆初中数学所学的代数基础知识:
设正方形的边长为a,则正方形的面积为a x a。把边长a看做一个变量,我们就可以根据a的值计算正方形的面积,比如:
若a=2,则面积为a x a = 2 x 2 = 4;
若a=3.5,则面积为a x a = 3.5 x 3.5 = 12.25。
在计算机程序中,变量不仅可以为整数或浮点数,还可以是字符串,因此,name作为一个变量就是一个字符串。
要打印出name变量的内容,除了直接写name然后按回车外,还可以用print()函数:>>> print(name)
Michael
有了输入和输出,我们就可以把上次打印'hello, world'的程序改成有点意义的程序了:name = input()
print('hello,', name)
运行上面的程序,第一行代码会让用户输入任意字符作为自己的名字,然后存入name变量中;第二行代码会根据用户的名字向用户说hello,比如输入Michael:C:\Workspace> python hello.py
Michael
hello, Michael
但是程序运行的时候,没有任何提示信息告诉用户:“嘿,赶紧输入你的名字”,这样显得很不友好。幸好,input()可以让你显示一个字符串来提示用户,于是我们把代码改成:name = input('please enter your name: ')
print('hello,', name)
再次运行这个程序,你会发现,程序一运行,会首先打印出please enter your name:,这样,用户就可以根据提示,输入名字后,得到hello, xxx的输出:C:\Workspace> python hello.py
please enter your name: Michael
hello, Michael
每次运行该程序,根据用户输入的不同,输出结果也会不同。
在命令行下,输入和输出就是这么简单。
拓展示例answer = input("请输入1+2等于几的数字")
if int(answer)==3:
print("结果正确")
else:
print("结果错误")
小结
任何计算机程序都是为了执行一个特定的任务,有了输入,用户才能告诉计算机程序所需的信息,有了输出,程序运行后才能告诉用户任务的结果。
输入是Input,输出是Output,因此,我们把输入输出统称为Input/Output,或者简写为IO。
input()和print()是在命令行下面最基本的输入和输出,但是,用户也可以通过其他更高级的图形界面完成输入和输出,比如,在网页上的一个文本框输入自己的名字,点击“确定”后在网页上看到输出信息
help函数help(print)
输出
Help on built-in function print in module builtins:
print(...)
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.
end 关键字
关键字end可以用于将结果输出到同一行,或者在输出的末尾添加不同的字符,实例如下:#!/usr/bin/python3
# Fibonacci series: 斐波纳契数列
# 两个元素的总和确定了下一个数
a, b = 0, 1
while b < 1000:
print(b, end=',')
a, b = b, a+b
执行以上程序,输出结果为:1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987
Python3 注释
确保对模块, 函数, 方法和行内注释使用正确的风格
Python中的注释有单行注释和多行注释:
Python中单行注释以 # 开头,例如::# 这是一个注释
print("Hello, World!")
多行注释用三个单引号'''或者三个双引号""" 将注释括起来,例如:
1、单引号(''')#!/usr/bin/python3
'''
这是多行注释,用三个单引号
这是多行注释,用三个单引号
这是多行注释,用三个单引号
'''
print("Hello, World!")
2、双引号(""")#!/usr/bin/python3
"""
这是多行注释,用三个单引号
这是多行注释,用三个单引号
这是多行注释,用三个单引号
"""
print("Hello, World!")