最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python?常用的print輸出函數(shù)和input輸入函數(shù)

 更新時(shí)間:2022年02月24日 11:52:52   作者:酷爾。  
這篇文章主要介紹了Python?常用的print輸出函數(shù)和input輸入函數(shù),今天主要學(xué)習(xí)一下Python中的輸入輸出流,會(huì)對(duì)標(biāo)準(zhǔn)輸入輸出流、文件輸入輸出流展開(kāi)介紹,需要的朋友可以參考一下

前言:

在每一門編程語(yǔ)言中的都會(huì)有輸入輸出流這一說(shuō),通過(guò)輸入輸出流可以使我們寫的程序與外界進(jìn)行交互。當(dāng)然了我們寫程序的目的也就是對(duì)數(shù)據(jù)流進(jìn)行處理,處理之后或?qū)ζ溥M(jìn)行保存,或?qū)⑵溽尫拧=裉熘饕獙W(xué)習(xí)一下Python中的輸入輸出流,會(huì)對(duì)標(biāo)準(zhǔn)輸入輸出流、文件輸入輸出流展開(kāi)介紹。

一、獲取命令行參數(shù)

在執(zhí)行Python腳本的時(shí)候可以對(duì)腳本從命令行傳遞參數(shù),然后在腳本內(nèi)接收,然后將每一個(gè)參數(shù)進(jìn)行分離。

1.sys.argv

使用方法第一步:

import sys

使用方法第二步:

temp=sys.argv[1]

【在這里解釋一下哦,sys.argv序列中索引0對(duì)應(yīng)的是Python腳本名,剩下的才是傳進(jìn)來(lái)的變量】如下代碼將會(huì)打印Python文件名與你傳進(jìn)去的參數(shù)(不傳參接收的話會(huì)報(bào)錯(cuò))

import sys
n1=sys.argv[0]
n2=sys.argv[1]
print(n1,type(n1))
print(n2,type(n2))

2.argparse

這個(gè)模塊是解析命令行參數(shù),生成幫助信息的Python標(biāo)準(zhǔn)模塊

第一步(導(dǎo)包):

import argparse

第二步(創(chuàng)建ArgumentParser對(duì)象):

margs=argparse.ArgumentParser()

第三步(增加要解析的命令行參數(shù)信息):

margs.add_argument(參數(shù)名,默認(rèn)值,類型,提示語(yǔ)句)

第四步(生成參數(shù)列表):

args=margs.parse_args()

二、最常用的輸入輸出

1.print函數(shù)【輸出】

①print函數(shù)原型

解釋參數(shù)列表:

    *args代表不固定個(gè)參數(shù)
    sep代表間隔默認(rèn)為空格
    end代表輸出后結(jié)尾加換行
    file代表是否將輸出流重定向至文件。是一個(gè)文件描述符
末尾的pass代表占位符,因?yàn)閜ython是一門語(yǔ)法格式化要求嚴(yán)格的語(yǔ)言
函數(shù)內(nèi)、循環(huán)語(yǔ)內(nèi)不可以留空一般使用pass占住位置。

def print(self, *args, sep=' ', end='\n', file=None):?
?? ?# known special case of print
? ? """
? ? print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
? ??
? ? Prints the values to a stream, or to sys.stdout by default.
? ? Optional keyword arguments:
? ? file: ?a file-like object (stream); defaults to the current sys.stdout.
? ? sep: ? string inserted between values, default a space.
? ? end: ? string appended after the last value, default a newline.
? ? flush: whether to forcibly flush the stream.
? ? """
? ? pass

②使用print函數(shù)

print函數(shù)可以打印數(shù)字,運(yùn)算加減法

可以輸出字符串(字符串必須用雙引號(hào)或者單引號(hào)引起來(lái),否則解釋器會(huì)不明白輸入的是什么)

print可以將輸出的內(nèi)容直接定向到文件里面,open函數(shù)打開(kāi)文件

創(chuàng)建python腳本不需要引入頭文件,在使用某庫(kù)時(shí)才import 第三方包。

# 1.輸出數(shù)字

print(888)
# 2.輸出運(yùn)算式
print(1+3)
# 輸出字符串
print('Hello World')
print('Hello World', "Hello Kity")
# print函數(shù)將內(nèi)容直接輸出到文件內(nèi)
# 打開(kāi)文件test.txt得到文件描述符F然后對(duì)文件進(jìn)行輸出。
F = open('test.txt', "a+")
print('Hello File', file=F)
F.close()

2.input函數(shù)【輸入】

①input函數(shù)原型

  • input函數(shù)是Python中常用的輸入函數(shù),可以讀取黑窗口輸入的數(shù)據(jù)
def input(*args, **kwargs): # real signature unknown
? ? """
? ? Read a string from standard input. ?The trailing newline is stripped.
? ??
? ? The prompt string, if given, is printed to standard output without a
? ? trailing newline before reading input.
? ??
? ? If the user hits EOF (*nix: Ctrl-D, Windows: Ctrl-Z+Return), raise EOFError.
? ? On *nix systems, readline is used if available.
? ? """
? ? pass

②使用input函數(shù)

# 輸入函數(shù) input
# 輸入函數(shù)框內(nèi)填寫的是提示性語(yǔ)句
# 輸入進(jìn)來(lái)的內(nèi)容剛開(kāi)始都是字符串類型
q=input('請(qǐng)輸入您的名字')
print(type(q))
print("我的名字叫:",q)
# input(可以直接進(jìn)行類型轉(zhuǎn)換)
q=int(input("請(qǐng)輸入您的數(shù)據(jù):"))
print(type(q))

三、sys包下的輸入輸出

從名字上來(lái)看這個(gè)包是關(guān)于系統(tǒng)的包,如果print與input沒(méi)有辦法滿足你的需求的時(shí)候
不妨來(lái)看看sys.stdin與sys.stdout。print與input均是在后者的基礎(chǔ)上封裝而成的。

1.sys.stdin

比input更加標(biāo)準(zhǔn)的輸入,可以使用他的方法readline()一次讀入一行
讀入的一行包含所有特殊字符與后來(lái)的換行,如果不想將換行讀進(jìn)
來(lái)就在readline后面加上strip()

代碼如下:

#首先導(dǎo)包
import sys
#直接讀取一行,包括末尾的換行符
str1=sys.stdin.readline()
#讀取一行不包括最后的換行符
str2=sys.stdin.readline().strip()

2.sys.stdout

這個(gè)是比print函數(shù)更加官方輸出,因?yàn)閜rint是在他的基礎(chǔ)之上進(jìn)行封裝實(shí)現(xiàn)的。對(duì)于Python而言sys.stdout.write(“Hello World”+"\n")與print(“Hello World”)效果是一樣的。sys.stdout也支持輸出的重定向。操作方法就是直接將標(biāo)準(zhǔn)輸出
對(duì)象指向文件描述符,如果想要恢復(fù)標(biāo)準(zhǔn)輸出,只需將輸入輸出對(duì)象再次指向標(biāo)準(zhǔn)輸入輸出對(duì)象即可.

代碼如下:

import sys
#創(chuàng)建一個(gè)文件描述符
f1=open("log.txt","w")
#將標(biāo)準(zhǔn)輸出重定向到文件log.txt內(nèi)
sys.stdout=f1
#寫入信息
sys.stdout.write("Hello")
#恢復(fù)重定向
sys.stdout=sys.__stdout__

四、命令行腳本的重定向

在生活中我們可能有這么一種需求,就是對(duì)自己寫的代碼進(jìn)行測(cè)試,測(cè)試的時(shí)候如果數(shù)據(jù)量很大我們每次都進(jìn)行輸入的話非常麻煩,還會(huì)有一種需求就是打印日志,如果每次將日志打印到屏幕信息量大的話可能就會(huì)被刷新下去。由此我們的輸入輸出重定向來(lái)了。輸入輸出重定向一般就是將屏幕上的數(shù)據(jù)打印到文件內(nèi),或者需要從屏幕讀取的數(shù)據(jù)改為從文件讀取。

1.重定向標(biāo)準(zhǔn)輸出

將腳本的執(zhí)行結(jié)果直接輸送進(jìn)文件,永久保存
語(yǔ)法是:python 文件.py > 儲(chǔ)存文件eg: python test.py > output.txt

代碼如下:

import sys
num=int(input())
# num=int(sys.argv[1])

flag=True
for i in range(1,10):
? ? for j in range(0,10):
? ? ? ? temp=num-2*i-2*j
? ? ? ? if temp<10 and temp>=0:
? ? ? ? ? ? print(i*10000+j*1000+temp*100+j*10+i)
? ? ? ? ? ? flag=False
for i in range(1,10):
? ? for j in range(0,10):
? ? ? ? temp=num-2*i-2*j
? ? ? ? if temp>=0 and temp%2==0 and temp//2<10:
? ? ? ? ? ? print(i*100000+j*10000+temp//2*1000+temp//2*100+j*10+i)
? ? ? ? ? ? flag=False
if flag:
? ? print(-1)

結(jié)果如下:

2.重定向標(biāo)準(zhǔn)輸入

對(duì)于輸入重定向與輸出的語(yǔ)法幾乎相同

python test.py < input.txt

總結(jié):
使用Python進(jìn)行輸入輸出的重定向,可以通過(guò)代碼對(duì)數(shù)據(jù)進(jìn)行排序、篩選等操作,可以起到過(guò)濾器的作用。在刷算法題的時(shí)候我們往往需要對(duì)輸入輸出更加的了解才能符合算法題給出的樣例輸入樣例輸出。由此可見(jiàn)掌握Python的輸入輸出對(duì)我們而言非常重要。

到此這篇關(guān)于Python 常用的print輸出函數(shù)和input輸入函數(shù)的文章就介紹到這了,更多相關(guān)Python 輸入輸出函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 淺談Django+Gunicorn+Nginx部署之路

    淺談Django+Gunicorn+Nginx部署之路

    這篇文章主要介紹了Django+Gunicorn+Nginx部署之路,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Django websocket原理及功能實(shí)現(xiàn)代碼

    Django websocket原理及功能實(shí)現(xiàn)代碼

    這篇文章主要介紹了Django websocket原理及功能實(shí)現(xiàn)代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Python中處理YAML文件的正確方法

    Python中處理YAML文件的正確方法

    在現(xiàn)代軟件開(kāi)發(fā)中,YAML(YAML Ain’t Markup Language)因其簡(jiǎn)潔和易于閱讀的特性,被廣泛用于配置文件,Python 作為一種流行的編程語(yǔ)言,提供了多種處理 YAML 文件的庫(kù),本文給大家介紹了Python中處理YAML文件的正確方法,需要的朋友可以參考下
    2024-11-11
  • jupyter %matplotlib inline報(bào)錯(cuò)TypeError:print_svg() got an unexpected keyword argument‘orientation‘問(wèn)題

    jupyter %matplotlib inline報(bào)錯(cuò)TypeError:print_svg()&

    在Jupyter Notebook使用matplotlib時(shí)出現(xiàn)TypeError錯(cuò)誤,一般是由于ipython和matplotlib版本不兼容造成的,通過(guò)安裝ipympl并將魔法命令替換為%matplotlib ipympl,可以解決這個(gè)問(wèn)題
    2024-09-09
  • Python 異常處理總結(jié)

    Python 異常處理總結(jié)

    閱讀本篇文章以學(xué)習(xí) Python 異常處理。它應(yīng)該可以幫助您了解如何在程序中使用 try、except 和 finally 語(yǔ)句。下面跟著小編一起來(lái)學(xué)習(xí)文章內(nèi)容吧
    2021-09-09
  • 簡(jiǎn)單了解python關(guān)系(比較)運(yùn)算符

    簡(jiǎn)單了解python關(guān)系(比較)運(yùn)算符

    這篇文章主要介紹了簡(jiǎn)單了解python關(guān)系(比較)運(yùn)算符,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • Python中利用算法優(yōu)化性能的技巧分享

    Python中利用算法優(yōu)化性能的技巧分享

    這篇文章主要為大家詳細(xì)介紹了Python中12個(gè)可以利用算法優(yōu)化性能的技巧,文中的示例代碼簡(jiǎn)潔易懂,具有一定的借鑒價(jià)值,有需要的小伙伴可以了解下
    2025-04-04
  • 詳解Python中的null是什么

    詳解Python中的null是什么

    這篇文章主要介紹了Python中的null是什么,Python中其實(shí)沒(méi)有null這個(gè)詞,取而代之的是None對(duì)象,即特殊類型NoneType,代表空、沒(méi)有,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • python list排序的兩種方法及實(shí)例講解

    python list排序的兩種方法及實(shí)例講解

    本文主要介紹了python list排序的兩種方法及實(shí)例講解。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-03-03
  • Python實(shí)現(xiàn)字符串中某個(gè)字母的替代功能

    Python實(shí)現(xiàn)字符串中某個(gè)字母的替代功能

    小編想實(shí)現(xiàn)這樣一個(gè)功能:將輸入字符串中的字母 “i” 變成字母 “p”。想著很簡(jiǎn)單,怎么實(shí)現(xiàn)呢?下面小編給大家?guī)?lái)了Python實(shí)現(xiàn)字符串中某個(gè)字母的替代功能,感興趣的朋友一起看看吧
    2019-10-10

最新評(píng)論

东乌| 南丹县| 乡城县| 伊宁市| 德阳市| 乌拉特中旗| 宁城县| 来凤县| 西乡县| 东辽县| 梓潼县| 叙永县| 澄江县| 盐边县| 工布江达县| 博湖县| 衢州市| 合川市| 攀枝花市| 将乐县| 丹巴县| 和林格尔县| 贵阳市| 博爱县| 萝北县| 曲阜市| 南安市| 和林格尔县| 佛冈县| 渝北区| 汶川县| 云和县| 政和县| 侯马市| 怀仁县| 曲松县| 阿坝县| 洮南市| 房山区| 新竹市| 龙陵县|