【人生苦短,我学 Python】(7)命令行参数、键盘输入【input】和输出【print】

目录

  • 简述 / 前言
  • 1. 命令行参数
    • 1.1 argparse模块
  • 2. 标准输入和标准输出函数
    • 2.1 输入 input
    • 2.2 输出 print
    • 2.3 输入输出示例
  • 文章传送门

简述 / 前言

  • Python语言中,一切皆为对象,而每个对象都属于某个数据类型;
  • Python的数据类型包括内置的数据类型、模块中定义的数据类型和用户自定义的类型;
    • 数值数据类型:int、bool、float、complex;
    • 序列数据类型:不可变(str、tuple、bytes)和可变(list、bytearray);
    • 集合数据类型:set、frozenset;
    • 字典数据类型:dict。例如:{1: “one”, 2: “two”};;
    • NoneType、NotImplementedType和EllipsisType。

前面的文章主要介绍了 Python 中主要的数据类型,并简要介绍了个数据类型的对象方法,但是在介绍字符串对象方法时只介绍了大小写转换方法(str.upper()str.lower()),要知道字符串常用的对象方法可不止这两个,比如常见的字符串分割、替换等功能 Python 都给你开发好了,这些好用的方法我们会在后面单独出一篇文章来讲。

现在我们已经了解了 Python 中主要的数据类型了,接下来开始介绍如何让你和你的 Python 程序进行交互,即你可以输入一些东西,然后 Python 程序输出一些结果给你,所以本篇文章将介绍Python 的输入和输出


Python 程序通常可以使用下列方式之一实现交互功能:

  • 命令行参数。
  • 标准输入和输出函数。
  • 文件输入和输出。
  • 图形化用户界面

在文章开始之前先给大家讲个小东西,怕刚入门的 Python 小白还不清楚,如果用过下面这张图片的命令行方式的可以跳过这段~

【人生苦短,我学 Python】(7)命令行参数、键盘输入【input】和输出【print】_第1张图片

大家在配置完 Python 系统变量后,打开自己电脑的 cmd(一般是按住键盘上的 win+r 打开运行窗口,然后输入 cmd 就有这个窗口了,但是我不建议用这个打开,因为如果你要读取文件(比如 excel、txt 等)或者需要一些路径信息的话,这个会找不到你的文件,推荐的是用 pycharm 或者 vsCode,如果你要这个黑黑的窗口的话,最好在你在编写代码的文件夹那里输入 cmd,然后 enter,详见下图)

【人生苦短,我学 Python】(7)命令行参数、键盘输入【input】和输出【print】_第2张图片

像我之前分享的代码都是用这个黑黑的窗口编写的,所以大家会在代码里面看见 >>> ,这个箭头后面表示你的代码,... 表示你的代码没写完,比如一个循环(循环、条件分支在后面会讲,和 C 语言差不多)没写完,然后前面没有符号的就代表是输出的结果!


1. 命令行参数

通过列表sys.argv访问命令行参数:argv[0]为Python脚本名,argv[1]为第1个参数,argv[2]为第2个参数,…,argv[n]为第n个参数。

pycharm 编写代码文件(文件名为:CSDN.py),代码内容如下:

import sys

name = str(sys.argv[1])
age = int(sys.argv[2])

print(f'name: {name}, age: {age}')

这个代码是要你在命令行输入姓名和年龄,如何输出结果给你~

  1. 注意在Pycharm中的 run 无法运行这个程序,要在 Pycharm 的 Terminal 中运行如下代码:

    python CSDN.py '小邓在森林' 21
    

    【人生苦短,我学 Python】(7)命令行参数、键盘输入【input】和输出【print】_第3张图片

  2. 或者你用记事本写好代码后,把文件后缀的 .txt 改为 .py,然后在编写代码的资源管理器上输入 cmd 进入下面界面,输入上述代码,也可得到同样效果:

    【人生苦短,我学 Python】(7)命令行参数、键盘输入【input】和输出【print】_第4张图片

相信大家都看出来哪个方法好用了,希望大家都用一款写代码的软件来编写你的代码,方便好用,比如 Pycharm 还有代码自动补全功能,能大大提高你的编写代码效率,后续我们都用 pycharm 来展示代码输出(有时一些短代码可能还是会以之前的方式输出,即有>>>这种形式)~

1.1 argparse模块

argparse模块是用于解析命名的命令行参数,生成帮助信息的python标准模块。

>>> import argparse		# 导入模块
>>> parser = argparse.ArgumentParser()	# 创建ArgumentParser对象
>>> parser.add_argument('--length', default=10, type=int, help='长度')	# 调用parser对象方法add_argument(),增加要解析的命令参数信息
_StoreAction(option_strings=['--length'], dest='length', nargs=None, const=None, default=10, type=<class 'int'>, choices=None, required=False, help='长度', metavar=None)
>>> args = parser.parse_args()	# 调用parser对象方法parse_args()解析命令行参数,生成对应的列表
>>> args
Namespace(length=10)

示例:解析命令行参数所输入的长和宽的值,计算并输出长方形的面积:

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('--length', default=10, type=int, help='长度')
parser.add_argument('--width', default=5, type=int, help='宽度')
args = parser.parse_args()
area = args.length * args.width
print('面积=', area)

【人生苦短,我学 Python】(7)命令行参数、键盘输入【input】和输出【print】_第5张图片

2. 标准输入和标准输出函数

2.1 输入 input

格式:input([prompt])

2.2 输出 print

格式:print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)

print函数用于打印一行内容,即将多个以分隔符(sep,默认为空格)分隔的值(value,…,以逗号分隔的值),写入到指定文件流(file,默认为控制台sys.stdout)。参数end指定换行符;flush指定是否强制写入到流

2.3 输入输出示例

name = input('请输入你的姓名:')
age = int(input('请输入你的年龄:'))

print(f'name: {name}, age: {age}')

【人生苦短,我学 Python】(7)命令行参数、键盘输入【input】和输出【print】_第6张图片

更多的输入输出(比如文件的输入输出等)在下一篇文章再介绍~

文章传送门

上一篇文章:【人生苦短,我学 Python】(6)字典数据类型(dict)
下一篇文章:【人生苦短,我学 Python】(8)文件的读写和过滤器

你可能感兴趣的:(Python教程,python,语言基础,开发语言)