input()函數(shù)
input(promot=None, \ )
>>> t = eval(input('請(qǐng)輸入:'))
請(qǐng)輸入:5.3 #此處eval返回一個(gè)浮點(diǎn)型
>>> t
5.3
>>> type(t)
<class 'float'>
- 會(huì)顯示一個(gè)提示,其值默認(rèn)為空,可以從用戶的標(biāo)準(zhǔn)輸入中得到一個(gè)字符串值,無(wú)法讀入換行,因?yàn)閾Q行標(biāo)志輸入結(jié)束。
abs(number)
- 返回number的絕對(duì)值
int(object)
- 將字符串和數(shù)字轉(zhuǎn)化為整型
float(object)
- 將字符串和數(shù)字轉(zhuǎn)化為浮點(diǎn)型
str(object)
- 把值轉(zhuǎn)換為字符串,一般與print()聯(lián)用
repr(object)
- 返回值的字符串標(biāo)示形式,一般與eval()聯(lián)用
eval()函數(shù)
>>> a = 'aaa'
>>> b = 'bbb'
>>> print(eval(a)) # a去引號(hào)為aaa,沒有內(nèi)置的變量aaa也沒有定義變量aaa所以報(bào)錯(cuò)
Traceback (most recent call last):
File "<pyshell#55>", line 1, in <module>
print(eval(a))
File "<string>", line 1, in <module>
NameError: name 'aaa' is not defined
>>> c = 'a+b'
>>> print(c)
a+b
>>> print(eval(c))
aaabbb # c去引號(hào)為a+b,是一個(gè)字符串拼接的運(yùn)算,所以返回aaabbb
>>> m = '12'
>>> n = '13'
>>> print(eval(m))
12 # m去引號(hào)為12,是內(nèi)置的整數(shù),所以返回12
>>> print(eval(m)+eval(n))
25 # 進(jìn)行運(yùn)算
>> p = '"dddd"'
>>> p
'"dddd"'
>>> print(eval(p))
dddd # p去引號(hào)后為'dddd',有定義,所以返回'dddd'
>>> type(p)
<class 'str'>
>>> type(eval(p))
<class 'str'> #eval(p)返回的'dddd'仍是一個(gè)字符串
- eval('str')會(huì)脫去'str'的引號(hào),然后判斷str是否是一個(gè)計(jì)算式,若是則計(jì)算,不是則查找名為str的變量,返回變量的值,若無(wú)則報(bào)錯(cuò)
print()函數(shù)
print(*objects, sep=' ', end='\n', file=sys.stdout)
- sep
在輸出字符串之間插入指定字符串,默認(rèn)是空格,例如:>>print("a","b","c",sep="**") a**b**c end
- end='\n'
如果要實(shí)現(xiàn)輸出不換行,將end='\n'替換為end=' '即可,同理可替換為其他占位符(常用于for循環(huán)),如果要實(shí)現(xiàn)兩行輸出間換行,可以直接用print()默認(rèn)換一行- file
將文本輸入到file-like對(duì)象中,可以是文件,數(shù)據(jù)流等等,默認(rèn)是sys.stdout>>f = open('abc.txt','w') >>print('a',file=f)
- flush
flush值為True或者False,默認(rèn)為Flase,表示是否立刻將輸出語(yǔ)句輸入到參數(shù)file指向的對(duì)象中(默認(rèn)是sys.stdout)例如:>>f = open('abc.txt','w') >>print('a',file=f)
可以看到abc.txt文件這時(shí)為空,只有執(zhí)行f.close()之后才將內(nèi)容寫進(jìn)文件。
如果改為:>>print('a',file=f,flush=True)
則立刻就可以看到文件的內(nèi)容
>>> print('1''2''3')
123
>>> print('1' '2' '3')
123
>>> print('1','2','3')
1 2 3
- 可見空格對(duì)輸出沒有影響,如果要實(shí)現(xiàn)分隔必須用,(逗號(hào))
1.輸出數(shù)字,字符串,變量等
>>> print('Python') # 字符串
Python
>>> str1 = 'Python'
>>> print(str1)
Python
>>> print(5) # 數(shù)字
5
>>> a = 5 # 變量
>>> print(a)
5
>>> print(list(range(5))) #列表
[0, 1, 2, 3, 4]
>>> tuple1 = 1,2,3 #元組
>>> print(tuple1)
>>> print({1,2,3,4}) #字典
{1, 2, 3, 4}
2.print()格式化輸出
Python3中格式化輸出有兩種方式,%占位符和format方法
格式化輸出符
符 號(hào) | 描述 |
---|---|
%c | 格式化字符及其ASCII碼 |
%s | 格式化字符串 |
%d | 格式化整數(shù) |
%u | 格式化無(wú)符號(hào)整型 |
%o | 格式化無(wú)符號(hào)八進(jìn)制數(shù) |
%x | 格式化無(wú)符號(hào)十六進(jìn)制數(shù) |
%X | 格式化無(wú)符號(hào)十六進(jìn)制數(shù)(大寫) |
%f | 格式化浮點(diǎn)數(shù)字,可指定小數(shù)點(diǎn)后的精度 |
%e | 用科學(xué)計(jì)數(shù)法格式化浮點(diǎn)數(shù) |
%E | 作用同%e,用科學(xué)計(jì)數(shù)法格式化浮點(diǎn)數(shù) |
%g | %f和%e的簡(jiǎn)寫 |
%G | %f 和 %E 的簡(jiǎn)寫 |
%p | 用十六進(jìn)制數(shù)格式化變量的地址 |
>>> print('1 + 2 = %d'%(1+2)) #格式化輸出整數(shù)
1 + 2 = 3
>>> print('Her name is %s and the lenth of her name is %d('py',len('py'))) #格式化輸出字符串
Her name is py and the lenth of her name is 2
- %d首先起到一個(gè)占位的作用,然后將%后的內(nèi)容(如計(jì)算式)格式化為整型并替換到%d的位置
- 格式化輸出進(jìn)制數(shù)現(xiàn)階段不常用,暫時(shí)擱置
可以用如下的方式,對(duì)格式進(jìn)行進(jìn)一步的控制:
%[(name)][flags][width].[precision]typecode
(name)為命名
flags可以有+,-,' '或0。默認(rèn)右對(duì)齊。+表示在正數(shù)前面顯示+號(hào)。-表示左對(duì)齊。' '為一個(gè)空格,表示在正數(shù)的左側(cè)填充一個(gè)空格,從而與負(fù)數(shù)對(duì)齊。0表示使用0填充。
width表示顯示寬度
precision表示小數(shù)點(diǎn)后精度
>>> pi = 3.1415926
>>> print('%10.3f'%pi) # 寬度10,精度3
3.142 # 左起5個(gè)空格加上浮點(diǎn)數(shù)位數(shù)共占10位,保留三位小數(shù)
>>> print('%020d'%5) #默認(rèn)右對(duì)齊,以0為占位符
00000000000000000005
>>> print('%-020d'%5) #以0為占位符時(shí)左對(duì)齊不會(huì)顯示0,防止理解錯(cuò)誤
5
format方法
注意:format方法左對(duì)齊時(shí)可以用0填充右邊,而占位符%方法左對(duì)齊用0填充右邊時(shí)會(huì)默認(rèn)替換為空格
學(xué)習(xí)參考:
Python3菜鳥教程
零基礎(chǔ)入門學(xué)習(xí)Python-小甲魚
eval()函數(shù)
input()函數(shù)
print()格式化輸出
print()參數(shù)詳解
print()換行
內(nèi)置函數(shù)