python 是一种高级、面向对象、通用的编程语言,由Guido van Rossum发明,于1991年首次发布。python 的设计哲学强调代码的可读性和简洁性,同时也非常适合于大型项目的开发。python 语言被广泛用于Web开发、科学计算、人工智能、自动化测试、游戏开发等各个领域,并且拥有丰富的第三方库和工具,使得python成为广泛应用的语言之一。同时,由于其开放性和可移植性,python在跨平台应用、开源软件开发和云计算等领域也被广泛使用。

python的安装非常容易,在Windows平台下读者只需要去python官方下载与之对应的版本即可,目前python的版本为python 3.11.3如下图所示读者可点击Download python 3.11.3下载最新版本;

当读者下载好以后,只需要点击安装包,依次点击下一步则可将python安装到您的电脑中;

python 中的标准输入和输出是指用于读取和写入数据的默认流(stream),也称为 stdin 和 stdout。这些流可以是屏幕输入和输出,也可以是文件、管道等。

  • 标准输入:通常是用户控制台上的输入流,用于读取用户输入的数据。在python中,可以使用 input() 函数来接收标准输入,默认情况下它接收一个字符串并返回该字符串。

  • 标准输出:通常是用户控制台上的输出流,用于向控制台打印数据。在python中,可以使用 print() 函数将数据输出到标准输出流。默认情况下,打印函数(print() 函数)会将数据以字符串的形式输出到控制台。

1.1 标准输入功能

任何一门编程语言都具备标准输入与输出功能,输入输出是任何一门编程语言的最终目的,在python中,输入数据可以使用内置的input()函数来实现,该函数可传入一个字符串并在输入前打印至屏幕中,函数返回一个字符串类型读者可通过一个变量来接收函数的返回值。

>>> name = input("请输入你的名字:")
请输入你的名字:lyshark >>> print("Hello " + name)
Hello lyshark >>> age = input("请输入你的年龄:")
请输入你的年龄:22
>>> type(age)
<class 'str'> # 强制类型转换
>>> age1 = input("请输入你的年龄:")
>>> age1 = int(age1)
>>> type(age1)
<class 'int'>

读者需要注意一点,标准输入函数只能获取字符串类型的参数,而有时我们需要使用例如整数浮点数等特殊参数,则需要通过强制转换类型的方法来实现对字符串的转换,例如将一个字符串参数转换为整数,可以使用int(age1)来实现,当然除了转换为整数,python还支持如下几个强制类型转换函数;

  • int(x) 将 x 转换为整数
  • float(x) 将 x 转换为浮点数
  • str(x) 将 x 转换为字符串
  • bool(x) 将 x 转换为布尔值

如果尝试将无效的表达式或对象强制转换为某种数据类型,则可能引发TypeErrorValueError异常。因此,在进行强制转换之前,一定要确保输入的值是有效的,并且可以正确地转换为目标数据类型。

1.2 标准输出功能

有标准输入函数则必然有标准输出,在输出时读者可使用print()函数实现,该函数只需要传入一个输入字符串则可以实现输出,此外在某些时候如果我们不希望让该函数完成换行,则读者可在输入时增加end=""的参数传递实现,同时标准输入函数同样支持对字符串的动态替换功能。

>>> string = "hello lyshark"
>>> print(string)
hello lyshark # 输出时不让其自动换行
>>> print(string,)
>>> print('hello', end = " ") >>> string = "the length of (%s) is %d" %("hello lyshark",len("hello lyshark"))
>>> print(string)
the length of (hello lyshark) is 13 >>> string = "hello {} --> age {}".format("lyshark",22)
>>> print(string)
hello lyshark --> age 22 >>> string = "i am %(age).2f" %{"age":22}
>>> print(string)
i am 22.00

在上述案例中,可以看到当我们需要动态替换字符串时可以将字符串中需要变化的位置通过%s(代表字符串)或者%d(代表整数)的方式进行占位,在该字符串的后面通过%()的方式对字符串依次进行填充,最终调用print输出替换后的数据,当让在新版本中读者可使用{}进行占位符填充,该方法无需自行执行参数类型,在使用时更加方便一些。

1.3 格式化的用法

在标准输出中我们简单介绍了一下格式化输出的一些功能,本次案例中将重点学习如何实现对格式化输出的控制,通常来说使用format输出可以实现很多输出细节的控制,但此方式输出还是比较麻烦,如下所示将带大家简单理解格式化函数的一些基本用法,读者通过此类方法应该能更好的掌握格式化输出的基本技巧与流程。

>>> print("i am {0}, age {1}, really {0}".format("lyshark",22))
i am lyshark, age 22, really lyshark >>> print("i am {name}, age {age}".format(**{"name":"lyshark","age":"22"}))
i am lyshark, age 22 >>> temp = "i am {0[0]}, age {0[1]}, really {0[2]}".format([1, 2, 3], [11, 22, 33])
>>> print(temp)
i am 1, age 2, really 3 >>> temp = "i am {:s}, age {:d}, money {:f}".format("lyshark", 18, 8.1)
>>> print(temp)
i am lyshark, age 18, money 8.100000 >>> temp = "%r %r %r %r"
>>> print(temp%(1,2,3,4))
1 2 3 4 >>> print("网站名称:{name},地址:{url}".format(name="myblog",url="www.lyshark.com"))
网站名称:myblog,地址:www.lyshark.com >>> site={"name":"myblog","url":"www.lyshark.com"}
>>> print("网站名称:{name} 地址:{url}".format(**site))
网站名称:myblog 地址:www.lyshark.com >>> my_list = ['myblog','www.lyshark.com']
>>> print("网站名称:{0[0]},地址:{0[1]}".format(my_list))
网站名称:myblog,地址:www.lyshark.com

当然上述方法输出字符串还是有些复杂,为了解决这个问题,python语言在3.6之后的版本中引入了f-string格式化功能,该方法的引入解决了格式化输出是繁琐的初始化工作,在使用时只需要在字符串的外围增加f即可表示需要输出动态字符串,此时读者只需要传入特定的变量并以{}包裹,即可实现动态输出。

>>> name = "lyshark"
>>> age = 25
>>> number = 12.456 # 可直接带入变量调用
>>> f"hello, my name is {name} my age {age}"
'hello, my name is lyshark my age 25' # 调用是指定函数
>>> f"my name is {name.upper()}"
'my name is LYSHARK' # 如需显示大括号,则需要两次括号
>>> f"my name is {{name.upper()}}"
'my name is {name.upper()}' # 浮点数保留位数
>>> f"this float is {number:1.1f}"
'this float is 12.5' # ^符号居中,宽度10位,十六进制整数(大写字母),显示0X前缀
>>> number = 1234
>>> f'number is {number:^#10X}'
'number is 0X4D2 ' # <符号左对齐,宽度10位,显示正号(+)定点数格式,2位小数
>>> number = 1234.5678
>>> f'number is {number:<+10.2f}'
'number is +1234.57 ' # datetime时间格式输出
>>> import datetime
>>> number = datetime.datetime.today()
>>> f'the time is {number:%Y-%m-%d (%a) %H:%M:%S}'
'the time is 2021-07-14 (Sat) 20:46:02'

本文作者: 王瑞

本文链接: https://www.lyshark.com/post/533eb8c0.html

版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!

1.0 Python 标准输入与输出的更多相关文章

  1. 编程语言的分类及其优缺点,Python标准输入与输出

    一. 编程语言分类 1.机器语言 以0,1的组合作为指令集,用二进制指令来编写程序: 优点:执行效率高 缺点:开发效率低 2.汇编语言 用英文标签代替二进制指令集来编写程序,比机器语言稍微高级,但本质 ...

  2. python 将屏幕输出定向到变量中

    #!/usr/bin/python # -*- coding: utf-8 -*- import sys import subprocess as sp def main(): cmd = 'syst ...

  3. Python - 输入和输出 - 第十七天

    Python 输入和输出 在前面几个章节中,我们其实已经接触了 Python 的输入输出的功能.本章节我们将具体介绍 Python 的输入输出. 输出格式美化 Python两种输出值的方式: 表达式语 ...

  4. (Python )格式化输出、文件操作、json

    本节学习Python的格式化输出,文件操作以及json的简单用法 1.格式化输出 将非字符串类型转换成字符串,可以使用函数:str() 或者repr() ,(这两个函数的区别目前我还没搞懂,求解答) ...

  5. Linux shell的标准输入、输出和错误

    编译文件时,若编译过程时间长,可以将  标准错误  重定向  输出到一个文件中   2 > 1.txt         也可以通过管道  重定向 到 标准输出    2 > &1 ...

  6. Linux标准输入、输出和错误和文件重定向(转) --- good

    标准输入.输出和错误 当我们在shell中执行命令的时候,每个进程都和三个打开的文件相联系,并使用文件描述符来引用这些文件.由于文件描述符不容易记忆,shell同时也给出了相应的文件名.下面就是这些文 ...

  7. python print格式化输出。

    python print格式化输出. 1. 打印字符串 print ("His name is %s"%("Aviad")) 效果: 2.打印整数 print ...

  8. Linux标准输入、输出和错误和文件重定向 专题

    当我们在shell中执行命令的时候,每个进程都和三个打开的文件相联系,并使用文件描述符来引用这些文件.由于文件描述符不容易记忆,shell同时也给出了相应的文件名. 下面就是这些文件描述符及它们通常所 ...

  9. 【Python】Python 打印和输出更多用法。

    Python 打印和输出 简述 在编程实践中,print 的使用频率非常高,特别是程序运行到某个时刻,要检测产生的结果时,必须用 print 来打印输出. 关于 print 函数,前面很多地方已经提及 ...

  10. 0.Python 爬虫之Scrapy入门实践指南(Scrapy基础知识)

    目录 0.0.Scrapy基础 0.1.Scrapy 框架图 0.2.Scrapy主要包括了以下组件: 0.3.Scrapy简单示例如下: 0.4.Scrapy运行流程如下: 0.5.还有什么? 0. ...

随机推荐

  1. hibernate及SpringBoot集成Jpa实现对数据库操作

    首先使用Maven工程和junit完成hibernate对数据库的简单操作,完成之后在使用SpringBoot集成Jap完成hibernate对数据库的操作.本文仅供新手学习查看,具体线上使用需要对代 ...

  2. iview中时间选择器组件改变日期格式

    //改变视图的显示格式,但不会改变value的值的格式 format="yyyy-MM-dd" //改变value值的格式 @on-change="anZhuangDat ...

  3. 2022-04-01:有n个人,m个任务,任务之间有依赖记录在int[][] depends里。 比如: depends[i] = [a, b],表示a任务依赖b任务的完成, 其中 0 <= a <

    2022-04-01:有n个人,m个任务,任务之间有依赖记录在int[][] depends里. 比如: depends[i] = [a, b],表示a任务依赖b任务的完成, 其中 0 <= a ...

  4. 2021-07-12:缺失的第一个正数。给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。比如[3,4,5

    2021-07-12:缺失的第一个正数.给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数.请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案.比如[3,4,5 ...

  5. 选择结构do...while语句

    // do..while语句 #include<stdio.h> int main() { int a = 0; do { a++; printf("HelloWorld\n&q ...

  6. 用BP软件 批量注册用户

    第五步:查看管理员后台----用户界面, 有没有批量添加进用户

  7. 多线程合集(三)---异步的那些事之自定义AsyncTaskMethodBuilder

    引言 之前在上一篇文章中多线程合集(二)---异步的那些事,async和await原理抛析,我们从源码去分析了async和await如何运行,以及将编译后的IL代码写成了c#代码,以及实现自定义的Aw ...

  8. 2023-06-02:给定一个二进制数组 nums 和一个整数 k, k位翻转 就是从 nums 中选择一个长度为 k 的 子数组, 同时把子数组中的每一个 0 都改成 1 ,把子数组中的每一个 1

    2023-06-02:给定一个二进制数组 nums 和一个整数 k, k位翻转 就是从 nums 中选择一个长度为 k 的 子数组, 同时把子数组中的每一个 0 都改成 1 ,把子数组中的每一个 1 ...

  9. Python3.9安装

    一.安装python3.9 链接:https://pan.baidu.com/s/1mDkgKt2KSoMrKVxesb76Pg?pwd=ma4n 提取码:ma4n --来自百度网盘超级会员V4的分享 ...

  10. HTML5新特性之Web Storage

    Web Storage是HTML5新增的特性,能够在本地浏览器存储数据,对数据的操作很方便,最大能够存储5M. Web Storage有两种类型: SessionStorage 和 LocalStor ...