您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)python中輸入和輸出語句的用法的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
一、 input輸入函數(shù)
input函數(shù):獲取用戶輸入,保存成一個字符串。重要的話,說兩遍,input函數(shù)的返回值是一個字符串類型。哪怕你輸入的是個數(shù)字1,返回給你的只會是字符串“1”,而不是 整數(shù)1。下面是一些簡單的展示例子:
>>> inp = input("please input your name: ") please input your name: jack >>> inp 'jack' >>> type(inp) <class 'str'> >>> age = input("please input your age: ") please input your age: 18 >>> age '18' >>> type(age) <class 'str'> >>> a = input("請輸入一個字符:") 請輸入一個字符: >>> a '' >>> a = input("請輸入一個字符:") 請輸入一個字符: 前后帶有空白 >>> a ' 前后帶有空白 '
第一個例子中,inp = input("please input your name: "),input函數(shù)里可以提供一個字符串,用來給用戶進(jìn)行輸入提示。input函數(shù)的返回值賦值給inp這個變量后,inp里就保存了用戶輸入的值。
type是Python內(nèi)置的函數(shù)之一,非常有用,用于查看對象的數(shù)據(jù)類型。例子中的inp是一個str字符串類型,這驗證了我們前面說的話。
第二個例子,我們輸入了年齡18,但age里保存的是一個“18”的字符串。
第三個例子,什么都沒輸入,返回的是一個空字符串。
第四個例子,有效輸入的前后空白被保留在了返回的字符串中。
從上面例子的展示中,我們不難發(fā)現(xiàn),input函數(shù)將我們的輸入原樣不動的返回給了我們,并包裝成一個字符串。這肯定是不行的,會帶來很多問題,所以通常我們都需要對用戶輸入進(jìn)行處理和判定。
比如對空輸入進(jìn)行處理:
inp = input("請輸入你的姓名: ") if inp == "": inp = input("姓名不能為空,請重新輸入: ")
比如將字符串轉(zhuǎn)換成數(shù)字類型:
age = input("請輸入你的年齡: ") age = int(age) # 將字符串轉(zhuǎn)化為整數(shù) if age > 18: print("你已經(jīng)成年!") else: print("還沒斷奶?")
去除開頭的空白lstrip,去除結(jié)尾的空白rstrip以及去除兩端的空白strip
inp = input("請輸入你的姓名: ") inp = inp.strip() # strip的用法在字符串?dāng)?shù)據(jù)類型有講述 print(inp)
判斷輸入的字符類型
前面我們在將字符串轉(zhuǎn)化為整數(shù)用的是int()函數(shù),這種方式有危險的,看下面的例子:
>>> s = "123" >>> a = int(s) >>> a 123 >>> s = "something" >>> a = int(s) Traceback (most recent call last): File "<pyshell#12>", line 1, in <module> a = int(s) ValueError: invalid literal for int() with base 10: 'something'
對于形如“123”, “283242”的字符串,轉(zhuǎn)化沒問題,但是對于包含字符、特殊字符的字符串就沒辦法轉(zhuǎn)化了,會彈出異常錯誤。所以在使用int函數(shù)之前,要先對輸入進(jìn)行判斷。我們修改一下上面的例子:
age = input("請輸入你的年齡: ")if age.isdigit(): # 使用isdigit函數(shù)判斷輸入是否全是數(shù)字格式 age = int(age) # 將字符串轉(zhuǎn)化為整數(shù) print("你的年齡是: ", age)else: print("輸入不合法!")
input函數(shù)有時可以巧妙地用于阻塞或暫停程序
print("程序前面部分執(zhí)行完畢......") input("請按回車?yán)^續(xù)......") # 在這里程序會暫停,等待你的回車動作 print("繼續(xù)執(zhí)行程序的后面部分......")
二、 print輸出函數(shù)
print函數(shù)我們其實已經(jīng)不陌生了,前前后后也用了不少次,多少有點經(jīng)驗,明白點它的用法了。
print函數(shù)用于將內(nèi)容格式化顯示在標(biāo)準(zhǔn)輸出上,主要指的是屏幕顯示器。
print可以接受多個字符串,字符串類型的變量或者可print的對象。每個字符串用逗號“,”隔開,連成一串輸出。print會依次打印每個字符串,同時,每遇到一個逗號“,”就輸出一個空格。
>>> a = "i am" >>> b = "student" >>> print(a,"a" , b) i am a student # 自動以空格分隔 >>> print(a+"a"+b) i amastudent # 無分隔
對于形如print(a+"a"+b)的語句,其實是先計算a+"a"+b的值,然后再通過print打印它。print()會自動執(zhí)行內(nèi)部的語句,輸出想要的結(jié)果。再看一個例子:
>>> a = 10 >>> b = 2 >>> print(sum((a, a*b))) # 先求a*b,再求和,再打印 30
我們看一下print函數(shù)的原型:print(self, *args, sep=' ', end='\n', file=None)
sep參數(shù): 分隔的符號,默認(rèn)是一個空格;
end參數(shù): 打印后的結(jié)束方式,默認(rèn)為換行符\n。如果,設(shè)置end='',則可以不換行,讓print在一行內(nèi)連續(xù)打印?;钣胮rint的參數(shù),可以實現(xiàn)靈活的打印控制。
>>> a = "i am" >>> b = "student" >>> print(a,"a" , b, sep="*") i am*a*student
感謝各位的閱讀!關(guān)于python中輸入和輸出語句的用法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。