溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python的print輸出函數(shù)和input輸入函數(shù)怎么用

發(fā)布時間:2022-02-24 16:50:18 來源:億速云 閱讀:265 作者:iii 欄目:開發(fā)技術(shù)

今天小編給大家分享一下Python的print輸出函數(shù)和input輸入函數(shù)怎么用的相關(guān)知識點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

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

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

1.sys.argv

使用方法第一步:

import sys

使用方法第二步:

temp=sys.argv[1]

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

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

2.argparse

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

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

import argparse

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

margs=argparse.ArgumentParser()

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

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

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

args=margs.parse_args()

二、最常用的輸入輸出

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

①print函數(shù)原型

解釋參數(shù)列表:

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

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

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

創(chuàng)建python腳本不需要引入頭文件,在使用某庫時才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)
# 打開文件test.txt得到文件描述符F然后對文件進(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)填寫的是提示性語句
# 輸入進(jìn)來的內(nèi)容剛開始都是字符串類型
q=input('請輸入您的名字')
print(type(q))
print("我的名字叫:",q)
# input(可以直接進(jìn)行類型轉(zhuǎn)換)
q=int(input("請輸入您的數(shù)據(jù):"))
print(type(q))

三、sys包下的輸入輸出

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

1.sys.stdin

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

代碼如下:

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

2.sys.stdout

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

代碼如下:

import sys
#創(chuàng)建一個文件描述符
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__

四、命令行腳本的重定向

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

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

將腳本的執(zhí)行結(jié)果直接輸送進(jìn)文件,永久保存
語法是:python 文件.py > 儲存文件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é)果如下:

Python的print輸出函數(shù)和input輸入函數(shù)怎么用

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

對于輸入重定向與輸出的語法幾乎相同

python test.py < input.txt

以上就是“Python的print輸出函數(shù)和input輸入函數(shù)怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學(xué)習(xí)更多的知識,請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI