Python 輸出及輸出格式化 隨記

2021-10-04 23:16:38 字數 4731 閱讀 5401

import sys

"""輸出的三種方式:

一、print()

二、表示式語句

三、第三種方式是使用檔案物件的 write() 方法,標準輸出檔案可以用 sys.stdout 引用。

輸出多樣式,可以用 str.format() 函式來格式化輸出值。

轉換成字串:

1、str(): 函式返回乙個使用者易讀的表達形式。

2、repr(): 產生乙個直譯器易讀的表達形式。repr()的輸入對python比較友好,適合開發和除錯階段使用。

str()會去掉一層引號,而repr()會增加一層引號,用來表示原內容

ide的原因,不能直接輸出變數,需要print,網上描述的就不能展示出來,目前能展示出來的區別就是使用場景

"""print("-------------------str()與repr()在字串的區別-------------------")

s='i love python!\n'

n=83

print("str(s):",str(s)) # 輸出 i love python! 後面加換行

print("repr(s):",repr(s)) # 輸出 'i love python!\n' 是帶了單引號的,返回原始內容,可以起到轉義特殊字元

# print(eval(str(s))) # 此時就會報錯,str(s)外層不帶引號;syntaxerror: invalid syntax

print("表示式eval(repr(s)):",eval(repr(s))) # 此處就會通過表示式eval()將『\n』換行表達出來

# eval() 函式用來執行乙個字串表示式,並返回表示式的值。

print("表示式repr(n):", eval(repr(n)+'+2') ) # 運算"83+2"=85

print("表示式str(n):", eval(str(n)+'+2') ) # 運算"83+2"=85

print("-------------------輸出方式-------------------")

x = 10 * 3.25

y = 'i love python\n'

s2 = 'x 的值為: ' + repr(x) + ', y 的值為:' + repr(y) + ' !轉義,不換行' # repr()可以對x,y中的原內容進行傳遞

s3 = 'x 的值為: ' + str(x) + ', y 的值為:' + str(y) + ' !不轉義,換行'

# s2 在python console下是可以列印展示出來的

print("s2的內容: ",s2)

print("s3的內容: ",s3)

sys.stdout.write("write s2:"+s2)

print()

# sep引數間連線符號,預設sep=' ';end結束符號,結束不換行,預設end='\n'

print('12','22',sep='###',end='')

print()

'''緩衝區的重新整理方式:

1、flush()重新整理快取區

2、緩衝區滿時,自動重新整理

3、檔案關閉或者是程式結束自動重新整理。'''

sys.stdout.flush() # 重新整理快取,當前貌似沒看出加了或者沒加的區別,先記下

print("\n-------------------輸出展示格式化-------------------") # sys.stdout.write輸出是不換行的,故加\n進行換行

print('i\'m %s and %d years old!' % ('zhangsan',24))

print('i\'m {} and {} years old!'.format('zhangsan', '24'))

print('i\'m and years old!'.format(name='zhangsan',age= '24')) # 關鍵字對應引數

print('i\'m and years old!'.format('24','zhangsan')) # 數字表示引數位置

'''!a (使用 ascii()), !s (使用 str()) 和 !r (使用 repr()) 可以用於在格式化某個值之前對其進行轉化'''

pi=3.141592653589793

print(''.format(pi)) # 字元長度9,小數點保留兩位

print(''.format(pi))

print(''.format(pi))

print(''.format(pi))

''' 傳入乙個字典, 然後使用方括號 來訪問鍵值 '''

print("my name is , and !".format(myname))

'''也可以通過在 table 變數前使用 ** 來實現相同的功能'''

print("my name is , and years old , i like !".format(**myname))

print()

for n in range(1,4):

print(',,'.format(n,n**2,n**3)) # 『:』後為展示格式,『0』補位

'''格式填充

1、rjust()方法, 它可以將字串靠右, 並在左邊填充空格。

2、ljust()方法, 它可以將字串靠左, 並在右邊填充空格。

3、center()方法, 它可以將字串居中, 並在兩邊填充空格。 這些方法並不會寫任何東西, 它們僅僅返回新的字串。

4、zfill(), 它會在數字的左邊填充 0

'''# 取平方,立方

print("rjust()方法, 它可以將字串靠右, 並在左邊填充空格")

for index1 in range(1,4):

print(repr(index1).rjust(5),repr(index1*index1).rjust(5),end=" ")

print(repr(index1**3).rjust(5))

print("ljust()方法, 它可以將字串靠左, 並在右邊填充空格。")

for index2 in range(1,4):

print(repr(index2).ljust(5),repr(index2*index2).ljust(5),end=" ")

print(repr(index2**3).ljust(5))

print("center()方法, 它可以將字串居中, 並在兩邊填充空格。")

for index2 in range(1,4):

print(repr(index2).center(5,'*'),repr(index2*index2).center(5,'*'),end=" ")

print(repr(index2**3).center(5,'*'))

print("123".zfill(7)) # 長度7位,不足用0在左邊補位

-------------------str()與repr()在字串的區別-------------------

str(s): i love python!

repr(s): 'i love python!\n'

表示式eval(repr(s)): i love python!

表示式repr(n): 85

表示式str(n): 85

-------------------輸出方式-------------------

s2的內容: x 的值為: 32.5, y 的值為:'i love python\n' !轉義,不換行

s3的內容: x 的值為: 32.5, y 的值為:i love python

!不轉義,換行

write s2:x 的值為: 32.5, y 的值為:'i love python\n' !轉義,不換行

12###22

-------------------輸出展示格式化-------------------

i'm zhangsan and 24 years old!

i'm zhangsan and 24 years old!

i'm zhangsan and 24 years old!

i'm zhangsan and 24 years old!

00003.142

3.141592653589793

3.141592653589793

3.141592653589793

my name is zhangsan , and 24 !

01,001,0001

02,004,0008

03,009,0027

rjust()方法, 它可以將字串靠右, 並在左邊填充空格

1 1 1

2 4 8

3 9 27

ljust()方法, 它可以將字串靠左, 並在右邊填充空格。

1 1 1

2 4 8

3 9 27

center()方法, 它可以將字串居中, 並在兩邊填充空格。

**1** **1** **1**

**2** **4** **8**

**3** **9** **27*

0000123

process finished with exit code 0

Python 輸入與輸出 格式化輸出

var print s吃了 d s s 你 10,碗 公尺 你吃了10碗公尺 format var print 吃了 format 你 10 碗 公尺 你吃了10碗公尺 f print f 吃了 你吃了10碗公尺 附加說明 input 可選引數 返回 str 可選引數說明 the prompt st...

python 日期輸出格式化

1.日期輸出格式化 所有日期 時間的api都在datetime模組內。1.datetime string now datetime.datetime.now now.strftime y m d h m s 輸出2012 03 05 16 26 23.870105 strftime是datetime...

Python基礎 輸出格式化

python版本 3.6.6 在python中,格式化輸出使用 實現。在字串內部,s表示用字串替換,d表示用整數替換,有幾個 佔位符,後面就跟幾個變數或者值,順序要對應好。如果只有乙個 括號可以省略。常見的佔位符有 佔位符替換內容 d在整數 f浮點數 s字串 x是十六進製制整數 字串輸出 print...