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

程序运行结果如下图所示。

《Python从菜鸟到高手》开始转载了,敬请关注

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从菜鸟到高手》已经出版,开始连载了,购买送视频课程

原文地址:http://blog.51cto.com/androidguy/2170403

时间: 2024-10-15 12:14:25

Python从菜鸟到高手(6):获取用户输入、函数与注释的相关文章

Python从菜鸟到高手(2):清空Python控制台

执行python命令会进入Python控制台.在Python控制台中可以用交互的方式执行Python语句.也就是执行一行Python语句,会立刻返回执行结果. ??当Python控制台输入过多的Python语句时,有时需要将这些已经输入的语句和执行结果清空,并重新开始输入Python语句.例如,下图就是一个输入了多条Python语句,并输出相应结果的Python控制台. . ??当然,如果不想看到这些Python语句和输出结果,可以一直按"回车" 键,直到Python控制台中所有的内容

Python从菜鸟到高手(7):字符串

1. 单引号字符串和转义符   字符串与数字一样,都是值,可以直接使用,在Python控制台中直接输入字符串,如"Hello World",会按原样输出该字符串,只不过用单引号括了起来. >>> "Hello World" 'Hello World'   那么用双引号和单引号括起来的字符串有什么区别呢?其实没有任何区别.只不过在输出单引号或双引号时方便而已.例如,在Python控制台输入'Let's go!',会抛出如下的错误. >>&

Python从菜鸟到高手(8):print函数、赋值与代码块

1.神奇的print函数 ??print函数相信读者一定对它不陌生,因为在前面的章节,几乎每个例子都使用了print函数,这个函数的功能就是在控制台输出文本.不过print在输出文本时还可以进行一些设置,以及输出多参数字符串. ??如果为print函数传入多个参数值,那么print函数会将所有的参数值首尾相接输出. # 输出结果:a b c d e print("a","b","c","d","e"); ?

Python从菜鸟到高手(10):循环

  我们现在已经知道了如何使用if语句让程序沿着不同的路径执行,不过程序最大的用处就是利用CPU和GPU强大的执行能力不断重复执行某段代码,想想Google的AlphaGo与柯洁的那场人机大战,尽管表面上是人工智能的胜利,其实人工智能只是算法,人工只能算法之所以会快速完成海量的数据分享,循环在其中的作用功不可没.   对于初次接触程序设计的读者,可能还不太理解循环到底什么东西.下面先看一下循环的伪代码. 查看银行卡余额 没有发工资,等待1分钟,继续执行1 Oh,yeah,已经发工资了,继续执行4

Python从菜鸟到高手(11):列表的基础操作

  列表可以使用所有适用于序列的标准操作,例如索引.分片.连接和乘法.但列表还有一些属于自己的操作,如修改列表本身的操作,这些操作包括元素赋值.元素删除.分片赋值以及下一节要将的列表方法. 1. 列表元素赋值   如果要修改列表中的某一个元素,可以像使用数组一样对列表中的特定元素赋值,也就是使用一对中括号指定元素在列表中的索引,然后使用赋值运算符(=)进行赋值.   本例修改了列表s中的前两个元素值. s = ["Bill", "Mike", "John&

Python从菜鸟到高手(12):通过索引操作序列元素

1.定义序列   本文将介绍一下在Python语言中如何定义序列.定义序列的语法与Java中的数组类似,使用一对中括号将序列中的元素值括起来.下面的例子创建一个元素类型是字符串的序列,实现代码如下: names = ["Bill", "Mary", "Jack"]   同一个序列,不仅可以包含相同类型的值,还可以包含不同类型的值.下面的例子在一个序列中放置不同类型的值,实现代码如下: values = ["Bill", 30,

python入门学习--语句、获取用户输入、函数

1.语句 1.1 语句和表达式有什么区别呢?表达式就是某件事情,而语句是做某件事情(即告诉计算机做什么).比如2*2是4,而print2*2则是打印4 1.2 if语句 当条件为假时,什么都没发生:当条件为真时,后面的语句(上图为print语句)被执行.注:在交互式解释器内使用if语句,需要按两次回车,if语句才会执行 2.获取用户输入 python提示符(>>>)后面的语句可以算作一个完整的程序的组成部分了,输入的值由用户提供,而程序就会打印出输入的两个数的乘积1428.在编写程序的时

python学习:注释、获取用户输入、字符串拼接、运算符、表达式

注释 #为单行注释'''三个单引号(或者"""三个双引号)为多行注释,例如'''被注释的内容''' 获取用户输入 input() input 接受的所有数据都是字符串,即便你输入的是数字,但依然会被当成字符串来处理.把数据转成字符串用STR(被转的数据):把字符串转成数据用int(被转的字符串). 字符串拼接 "abc"+"def"="abcdef"            "abc","

《Python从菜鸟到高手》已经出版,购买送视频课程

好消息,<Python从菜鸟到高手>已经出版!!! ??JetBrains官方推荐图书!JetBrains官大中华区市场部经理赵磊作序!送2400分钟同步视频课程!500个案例,400道Python练习题,电子书,10万行源代码,6个实战项目! 本书完整目录 购买地址: 当当 京东 ??在2018-10-15之前在以上地址购买本书,并5分好评以及20字以上评论.除了赠送40小时Python同步视频课程外,还赠送李宁老师任意200元以内的课程或套餐,如果课程或套餐超过200元,直接不差价即可.