程序员文章、书籍推荐和程序员创业信息与资源分享平台

网站首页 > 技术文章 正文

Python编程基础04:输入与输出

hfteth 2025-01-17 11:49:31 技术文章 12 ℃

一、IPO模型

  • 一个程序,按照功能可以划分为三个部分:输入部分、处理部分和输出部分


  • 本讲我们学习基本输入与输出,通过输入函数获取数据(数值型和字符串),通过输出函数将处理结果以某种方式呈现。处理部分会涉及到各种各样的运算,留待下一讲学习。

二、基本输入 - input()函数

1、函数格式

  • input(prompt=None, /)
  • input(prompt=’’)

2、参数说明

  • 在IDLE里查看input函数说明


  • 在IPython里查看input函数说明


(1)参数可以省略
(2)函数返回值是字符串

3、实例演示

(1)接收字符串数据

  • 无提示信息参数


  • 有提示信息参数


(2)接收整型数据

  • input()函数的返回值都是字符串,哪怕输入35,返回的也是字符串'35',此时就需要用int()进行转换


(3)接收浮点型数据

  • 要接收一个浮点数,得用float()进行转换


(4)容易出现的错误

  • 本要接收整型数据,然而输入的是浮点数,或者带有字符,就会抛出ValueError信息


  • 本要接收浮点型数据,然而输入了字符串,就会抛出ValueError信息


三、基本输出 - print()函数

1、函数格式

  • print(value, …, sep=’ ‘, end=’\n’, file=sys.stdout, flush=False)

2、参数说明

  • 在IDLE里查看print函数说明


  • 在IPython里查看print函数说明


3、实例演示

(1)输出空行

  • 不带任何参数


  • 输出九九表时,就要用到这一招



(2)输出一个或多个对象

  • 输出多个对象,默认分隔符是空格


(3)指定分隔符

  • 利用参数sep指定分隔符


(4)指定结束符号

  • 默认结束符是换行符'\n'


(5)输出到文件

  • 利用file参数来指定目标文件



(6)格式输出

  • 采用%d、%f、%s输出整型、浮点型和字符串数据


  • 采用%e输出科学计数法表示的浮点数


  • 采用format()函数实现格式化输出


  • 指定输出数据的宽度以及对齐方式
  • 以输出整型数据为例说明
    – %nd,n表示宽度(位数),如果数据位数大于n,那么如实输出数据;如果数据位数小于n,那么输出数据前面凑足空格。用于右对齐输出数据。
    – %-nd,n表示宽度(位数),如果数据位数大于n,那么如实输出数据;如果数据位数小于n,那么输出数据后面凑足空格。用于左对齐输出数据。


  • 可以看出,采用format()函数,只能实现右对齐,不能实现左对齐

(7)引申案例 - 输出斐波拉契数列

  • 编写程序 - 斐波拉契竖列.py


# -*- coding: utf-8 -*-

"""

功能:斐波拉契数列

作者:华卫

日期:2020年11月7日

"""

def fib(n):

a, b = 1, 1

list = []

if n == 1:

list.append(a)

elif n == 2:

list.append(a)

list.append(b)

else:

list = [a, b]

for i in range(n - 2):

a, b = b, a + b

list.append(b)

return list

print('【斐波拉契数列前30项】')

fib1 = fib(30)

print('右对齐输出:')

for i in range(30):

print('%7d' % fib1[i], end='')

if (i + 1) % 5 == 0:

print()

print('左对齐输出:')

for i in range(30):

print('%-7d' % fib1[i], end='')

if (i + 1) % 5 == 0:

print()

四、美观输出 - pprint()函数

1、pprint模块概述

  • pprint 是“pretty printer”的简写,“pretty”的含义是“漂亮的、美观的”,即美观的打印。这是个相当简单却有用的模块,主要用于打印复杂的数据结构对象,例如多层嵌套的列表、元组和字典等。
  • 利用print()函数输出列表mylist = [“Beautiful is better than ugly.”, “Explicit is better than implicit.”, “Simple is better than complex.”, “Complex is better than complicated.”]


  • 整个列表一行输出,看起来有点不爽。
  • 使用 pprint 模块的 pprint() 替代 print(),可以解决如下痛点:设置合适的行宽度,作适当的换行设置打印的缩进、层级,进行格式化打印判断对象中是否有无限循环,并优化打印内容

2、pprint()函数说明

  • pprint(object, stream=None, indent=1, width=80, depth=None, *, compact=False)
  • 默认的行宽度参数为 80,当打印的字符(character)小于 80 时,pprint() 基本上等同于内置函数 print(),当字符超出时,它会作美化,进行格式化输出。

3、实例演示

  • 简单使用


  • 设置缩进为 4 个空格(默认为1)


  • 设置打印的行宽


设置打印的层级(默认全打印)


最后,小编想说:我是一名python开发工程师,
整理了一套最新的python系统学习教程,
想要这些资料的可以关注私信小编“01”即可(免费分享哦)希望能对你有所帮助

最近发表
标签列表