1.3 Python基础知识 - 用户交互及传递参数
一、用户交互
用户交互方面,每种开发语言都有不同的方式,例如shell语言用的是,“read -p "What is your name ? " ”。python中是什么样子的呢?请看示例:
name = input("What is your name ? ")
print("Hello ",name)
python中使用的是函数input()进行用户交互,示例中通过input()函数提出问题“What is your name ?”,这时会等待用户的输入,当用户输入一个答案后,由input()函数接收到并传递给名为name的变量,并打印出结果。这是在python 3.x中交互方式,在python 2.x 中是另一个方法实现的,如下:
name = rawinput("What is your name ? ")
print("Hello ",name)
在有一些登录场景,我们是需要输入密码的,但是我们通过传统的方式,获取信息,代码如下:
username = input("username : ")
passwd = input("password")
但是这种方式输入的密码是以明文的方式,即可见的方式获取的,不太安全,所以在python中可以使用不可见的方式获取到密码,代码如下:
# 导入getpass模块
import getpass username = input("username :") # 使用getpass.getpass方法获取到输入的密码
password = getpass.getpass("password : ")
二、传递参数
在上面的示例中,将接收到答案是通过print()函数输出的,那么答案的变量name是怎么样传递的呢?在python中有以下几种方式:
示例1:
name = input("你叫什么名字?")
age = input("你多大了?")
job = input("你的工作是什么?") # 在python中可以用三组引号进行格式化 info = """
------ info of %s ------
name : %s
age : %s
job : %s
""" % (name,name,age,job) print(info)
示例1中使用的方式为“$s”,即使用数据类型进行占位,后面按位置进行传递相应的变量。$s代表需要传递一个sting类型数据,python中还有其他类型数据$d,代表的是integer类型数据等。
示例2:
name = input("你叫什么名字?")
age = input("你多大了?")
job = input("你的工作是什么?") info = ""
------ info of {_name_} ------
name : {_name_}
age : {_age_}
job : {_job_}
""".format(_name_=name,
_age_=age,
_job_=job) print(info)
示例2中采用的是字符串格式化方式,在需要传递参数的位置使用“{关键名字}”,在后面使用format的方法对对应的名字进行变量赋值。这个参数又叫关键位置参数
示例3:
name = input("你叫什么名字?")
age = input("你多大了?")
job = input("你的工作是什么?") info = ""
------ info of {0} ------
name : {1}
age : {2}
job : {3}
""".format(name,name,age,job) print(info)
示例3中与示例2中类似,只是在format中指定参数的方式是通过位置进行传递参数,一一对应传递参数。所以又叫做位置参数。
以上三种示例的结果是一样的,其实在python中还有一个方式是通过"+"拼接的方式,例如:
name = input("你叫什么名字?")
age = input("你多大了?")
job = input("你的工作是什么?") info = """
------ info of """+name+""" ------
name : """+name+"""
age : """+age+"""
job : """+job+"""
""" print(info)
但是不建议使用此种方式,使用此种方式的话,会内存空间消耗增多,效率低下。
1.3 Python基础知识 - 用户交互及传递参数的更多相关文章
- Python基础之用户交互、流程控制、循环语句
python的简洁性真的令人叹为观止,没有JAVA那种输入还要导个包,不学不知道,一学吓一跳啊! 我在学这些基础的时候,会把python和java.c做对比,这样更好的理解记忆! 用户交互(输入) i ...
- python基础(4):用户交互、if判断、while循环、break和continue
1. 用户交互 使⽤input()函数,可以让我们和计算机互动起来 语法: 内容 = input(提⽰信息) 这⾥可以直接获取到⽤户输入的内容 content = input("你吃了么?& ...
- python 基础知识(一)
python 基础知识(一) 一.python发展介绍 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本 ...
- python基础知识(一)
Python基础知识 计算基础知识 1.cpu 人类的大脑 运算和处理问题 2.内存 临时存储数据 断电就消失了 3.硬盘 永久存储数据 4.操作系统 调度硬件设备之间数据交互 python的应用和历 ...
- Python 入门之Python基础知识
Python 入门之Python基础知识 1.变量 (1)变量就是把程序运行的中间结果临时存在内存中,以便后续代码使用 (2)变量的作用: 昵称,就是代指内存中某个地址中的内容 a = 123 变量名 ...
- Python开发【第二篇】:Python基础知识
Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...
- python基础知识小结-运维笔记
接触python已有一段时间了,下面针对python基础知识的使用做一完整梳理:1)避免‘\n’等特殊字符的两种方式: a)利用转义字符‘\’ b)利用原始字符‘r’ print r'c:\now' ...
- Python 基础知识(一)
1.Python简介 1.1.Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时 ...
- python基础知识部分练习大全
python基础知识部分练习大全 1.执行 Python 脚本的两种方式 答:1.>>python ../pyhton.py 2. >>python.py #必须在首行 ...
随机推荐
- 00076_BigDecimal
1.在程序中执行下列代码,会出现什么问题? System.out.println(0.09 + 0.01); System.out.println(1.0 - 0.32); System.out.pr ...
- Java 实现有序链表
有序链表: 按关键值排序. 删除链头时,就删除最小(/最大)的值,插入时,搜索插入的位置. 插入时须要比較O(N),平均O(N/2),删除最小(/最大)的在链头的数据时效率为O(1), 假设一个应用须 ...
- 认识 Atlassian Datacenter 产品
认识 Atlassian Datacenter 产品 云端原本就是群集化的架构,Atlassian 系列产品.应用的开发团队相当广范且行之有年,可是将应用程序作为节点(比方Jira,confluenc ...
- sublime 3 删除当前行
sublime 3 删除当前行 sublime 默认的是 “ctrl+shift+k” ,然而当你点击时,会出现希腊字母的软键盘,与windows默认快捷键有冲突 不用急 不用慌 这时打开: “Pre ...
- 45. Express 框架 静态文件处理
转自:http://www.runoob.com/nodejs/nodejs-express-framework.html Express 提供了内置的中间件 express.static 来设置静态 ...
- centos 6.7下安装rabbitmq 3.6.6过程
准备,请确保有root权限或者sudo权限,不然不用继续看下去了. 1.erland的安装 首先测试一下是否已经安装了erlang,命令 rpm -qa | grep erlang 若没有安装,则 y ...
- System.GC.Collect();//垃圾回收,回收没有正常关闭的http连接
System.GC.Collect();//垃圾回收,回收没有正常关闭的http连接
- WPF中RichTextBox高度自适应问题解决方法
最近做一个项目需要用到RichTextBox来显示字符串,但是不允许出现滚动条,在RichTextBox宽度给定的条件下,RichTextBox的高度必须正好显示内容,而不出现下拉滚动条. 这样就要计 ...
- 洛谷 P2105 K皇后
P2105 K皇后 题目描述 小Z最近捡到了一个棋盘,他想在棋盘上摆放K个皇后.他想知道在他摆完这K个皇后之后,棋盘上还有多少了格子是不会被攻击到的. (Ps:一个皇后会攻击到这个皇后所在的那一行,那 ...
- JNI/NDK开发指南(九)——JNI调用性能測试及优化
转载请注明出处:http://blog.csdn.net/xyang81/article/details/44279725 在前面几章我们学习到了.在Java中声明一个native方法,然后生成本地接 ...