Python从菜鸟到高手(6):获取用户输入、函数与注释
1. 获取用户输入
要编写一个有实际价值的程序,就需要与用户交互。当然,与用户交互有很多方法,例如,GUI(图形用户接口)就是一种非常好的与用户交互的方式,不过我们先不讨论GUI的交互方式,本节会采用一种原始,但很有效的方式与用户交互,这就是命令行交互方式,也就是说,用户通过命令行方式输入数据,程序会读取这些数据,并做进一步的处理。
从命令行接收用户的输入数据,需要使用input函数。input函数接收一个字符串类型的参数,用于作为输入的提示。input函数的返回值就是用户在命令行中录入的值。不管用户录入什么数据,input函数都会以字符串形式返回。如果要获取其他类型的值,如整数、浮点数,需要用相应的函数转换。例如,字符串转换为整数的函数是int,字符串转换为浮点数的函数是float。
下面的例子要求用户在命令行中输入姓名、年龄和收入。其中年龄是整数,收入是浮点数。输入完这3个值后,会依次在控制台输出这3个值。由于年龄和收入都是数值,所以在获取用户输入值后,需要分别使用int和float函数将input函数的返回值分别转换为整数和浮点数。如果年龄和收入输入的是非数值,会抛出异常。
name = input("请输入你的名字:") # 输入姓名,并把输入的结果赋给name变量
age = int(input("请输入你的年龄:")) # 输入年龄,并把输入的结果赋给age变量
salary = float(input("请输入你的收入:")) # 输入收入,并把输入的结果赋给salary变量
print("姓名:", name) # 输出姓名
print("年龄:", age) # 输出年龄
print("收入:", format(salary, "0.1f")) # 输出收入
运行程序,分别输入姓名、年龄和收入,按回车键后,会输出如下图所示的内容。
2. 函数
在前面的文章中曾经介绍过使用幂运算符(**)来计算一个数的n次方。事实上,可以用一个函数来代替这个运算符,这个函数就是pow,该函数可以传入两个参数,如果要计算x的y次方,那么pow函数的第1个参数应该是x,第2个参数应该是y。pow函数返回计算结果。例如,下面的代码计算2的6次方。
result = pow(2,6) # 计算结果:64
像上面这行代码使用函数的方式叫做函数调用。函数相当于可以重用的代码段,如果在程序中有多处使用这段代码,就应该将这段代码放到函数中,这样既可以实现代码重用,还会避免代码冗余。我们可以想象,如果不使用函数,同样的代码出现在程序中的多个地方,一旦要修改这些代码,那简直就是噩梦,需要改很多个地方。
Python语言提供了很多内建的函数以及通过模块提供的更多的函数,这些函数可以很大程度上实现代码复用,例如,abs函数用于获取数值的绝对值,round函数浮点数取整(四舍五入),cmath模块的sin函数用于计算弧度的正弦。
下面的例子演示了如果使用Python语言内建的函数以及模块提供的函数实现代码复用。
from cmath import sin # 导入cmath模块中的sin函数
print(pow(2,5)) # 运行结果:32
print(abs(-12)) # 运行结果:12
print(sin(3.14 / 2)) # 运行结果:(0.9999996829318346+0j)
print(round(3.6)) # 运行结果:4
print(round(3.4)) # 运行结果:3
程序运行结果如下图所示。

3. 注释
任何编程语言都有注释的功能。所谓注释,就是用一段文本描述代码的作用、代码的作者或是其他需要描述的东西。注释在程序编译时被忽略,也就是说,注释只在源代码中体现,编译生成的二进制文件中是没有注释的。
在Python语言中,注释分为单行注释和多行注释。单行注释用井号(#)开头,多行注释用3个引号(单引号或双引号)括起来。如果使用单行注释,井号后面的所有内容在编译程序时都会被忽略,如果使用多行注释,被引号括起来的内容在编译程序时都会被忽略。
在使用某些Python IDE时,默认会用ASCII编码格式保存源代码文件,这时如果源代码文件中含有中文,在运行Python程序时就会出错,这时需要使用注释标注当前源代码文件保存的编码格式。
用utf-8编码格式保存源代码文件
# coding=utf-8
用gbk编码格式保存源代码文件
# coding=gbk
建议读者使用utf-8编码格式保存源代码文件,因为utf8不仅仅能保存中文,还可以保存其他国家的文字,如韩文、日文。所以utf-8编码格式使用更普遍。
下面的例子演示了Python语言中单行注释、多行注释的用法
# coding=utf-8 当前Python源代码文件以utf-8编码格式保存
""" 多行注释(用双引号括起来)
作者:李宁
地点:earth
"""
# 用于计算2的4次幂 单行注释
print(2 ** 4)
''' 多行注释(用单引号括起来)
这段代码用于计算一个表达式的值
(1 + 2) * 20
'''
print((1 + 2) * 20)
《Python从菜鸟到高手》已经出版,开始连载了,购买送视频课程
Python从菜鸟到高手(6):获取用户输入、函数与注释的更多相关文章
- (一)第一个python语句、乘除法、获取用户输入、函数
一.print语句 >>> print "hello World!!" python2 和python3 的print是不一样的,python3的print(“h ...
- 《Python从菜鸟到高手》已经出版,开始连载了,购买送视频课程
好消息,<Python从菜鸟到高手>已经出版!!! JetBrains官方推荐图书!JetBrains官大中华区市场部经理赵磊作序!送2400分钟同步视频课程!500个案例,400道P ...
- Python从菜鸟到高手(2):清空Python控制台
执行python命令会进入Python控制台.在Python控制台中可以用交互的方式执行Python语句.也就是执行一行Python语句,会立刻返回执行结果. 当Python控制台输入过多的Pyt ...
- Python从菜鸟到高手(1):数字
本文主要内容: 1. 数字的基础知识 2. 大整数 3. 二进制.八进制和十六进制 4 数字的格式化输出 一.数字的基础知识 Python语言与其他编程语言一样,也支持四则运算(加.减.乘.除),以及 ...
- python学习:注释、获取用户输入、字符串拼接、运算符、表达式
注释 #为单行注释'''三个单引号(或者"""三个双引号)为多行注释,例如'''被注释的内容''' '''三个单引号还可以起到多行打印的功能. #ctrl+? 选中的多行 ...
- Python从菜鸟到高手(5):数字
1 基础知识 Python语言与其他编程语言一样,也支持四则运算(加.减.乘.除),以及圆括号运算符.在Python语言中,数字分为整数和浮点数.整数就是无小数部分的数,浮点数就是有小数部分的数. ...
- Python从菜鸟到高手(3):声明变量
变量(variable)是Python语言中一个非常重要的概念.变量的主要作用就是为Python程序中的某个值起一个名字.类似于"张三"."李四"." ...
- 16.Python input()函数:获取用户输入的字符串
input() 函数用于向用户生成一条提示,然后获取用户输入的内容.由于 input() 函数总会将用户输入的内容放入字符串中,因此用户可以输入任何内容,input() 函数总是返回一个字符串. 例如 ...
- 使用scanner工具类来获取用户输入的信息
使用scanner工具类来获取用户输入的成绩信息. 步骤:1.导入java.util.Scanner包 2.创建Scanner对象 3.接受并保存用户输入的值 例子:通过用户输入来获取学生成绩 pac ...
随机推荐
- unity修改脚本的图标
我们看别人代码时有时看到人家的脚本显示的不是unity的默认图标,而是自己的logo.如: 这样看上去感觉很专业有没有. 修改方法: 1 在Project窗口中点击选中脚本,在Inspector界面点 ...
- [Objective-C]编程艺术 笔记整理
看了<禅与 Objective-C 编程艺术>,发现不少平时不注意的或注意但没有系统总结的东西,特此记录一下. 这次没有整理完,后续更新会结合手里的一些其他资料整理. 新博客wossone ...
- robot framework笔记(一):环境配置(基于python3)+在pycharm中编写及运行robot脚本
(一)使用pip安装robotframework框架和seleniumlibrary库 pip install --upgrade robotframework pip install --upgra ...
- Python minidom模块(DOM写入和解析XML)
一.DOM写XML文件 #导入minidom from xml.dom import minidom # 1.创建DOM树对象 dom=minidom.Document() # 2.创建根节点.每次都 ...
- OneAPM 获得“2018中国 IT 服务创新奖”,彰显技术创新实力
6月30日,主题为“智能服务 数字中国”的中国 IT 服务创新大会在京召开.作为第22届中国国际软件博览会的重头戏,本次大会由工业和信息化部.北京市人民政府共同主办,中国电子工业标准化技术协会信息技术 ...
- javascript 重要属性之prototype(继承)
转载猫猫小屋 http://www.maomao365.com/?p=831 在javascript中每一个函数都拥有 prototype属性,在javascript中使用prototype,可以向已 ...
- Django的安装和启动
花了将近半个月的时间终于完成了Django的初步学习,从安装到实践MVTC架构,再到写简易的model和view,踩过不少坑,因此这里分享出来,也算一个阶段性的总结. 1.安装Django pip i ...
- SQL Server 一致性读
我们在Oracle和MySQL数据库中已经对一致性读的概念比较熟悉了,但是在SQL Server中却鲜少提及,但SQL Server自2005版本以来其实也实现了一致性读,几乎所有关系型数据库产品的一 ...
- 二、tableau常用难点操作
常用操作: 1.Ctrl+要选的多个字段+“智能显示”选择相应的图形 2.ctrl+m:新建工作表 3.添加行和列时,注意分层结构的利用 3.行的标题颜色的修改: (1)单行:表-右击-阴影-选择相应 ...
- AspNet mvc的一个bug
[HttpPost] public ActionResult updateLoan(TuWenMilitaryRank entity) 使用mvc绑定表单 每次绑定的对象都为null,查看Reques ...