Python基礎之格式化輸出

2021-09-29 11:34:00 字數 3837 閱讀 3553

python中用%代**式符,或者叫佔位符;

表示格式化操作,將其轉化成相應的資料型別

age =

10print

('我今年%d歲'

%age)

# 我今年10歲

在程式中,看到了 % 這樣的操作符,這就是python格式化輸出

age =

19name =

'xiaoming'

print

('我的名字是%s,年齡是%d歲'

%(name,age)

)# 我的名字是xiaoming,年齡是19歲

下面是常用的格式符號

格式符號

轉換%c

字元%s

通過str()字串轉換來格式化

%i有符號十進位制整數

%d有符號十進位制整數

%u無符號十進位制整數

%o八進位制整數

%x十六進製制整數(小寫字母)

%x十六進製制整數(大寫字母)

%e索引符號(小寫『e』)

%e索引符號(大寫『e』)

%f浮點實數

%g%f和%e的簡寫

%g%f和%e的簡寫

name =

'xiaoming'

qq =

2915241235

num =

13683823372

dizhi =

'xx市xx區'

print

('******************************'

)print(%

(name,qq,num,dizhi)

)# ******************************

# 姓名:xiaoming

# 手機號:13683823372

格式化字串的函式 str.format(),它增強了字串格式化的功能

基本語法是在字串中定義 {} ,字串後面加上 .format()函,函式中按花括號的順序填寫要補入的字元或字串變數(也可以設定指定的引數及順序)

下面演示了 format函式 的使用方法:

不設定指定位置,按預設順序

str1 =

"{} {}"

.format

("hello"

,"world"

)print

(str1)

# hello world

設定指定位置

str1 =

" ".

format

("hello"

,"world"

)str2 =

" "

.format

('hello'

,'world'

)print

(str1,

'\n'

,str2)

# hello world

# world hello world

指定引數名

))通過字典設定引數

site =

print(.

format

(**site)

)

通過列表索引設定引數(「0」是必須的)

)格式化數字

print(''

.format

(3.1415926))

# 3.14

格式化數字的其他引數列表:

數字格式

輸出描述

3.1415926

3.14

保留小數點後兩位

3.1415926

+3.14

帶符號保留小數點後兩位

-1-1.00

帶符號保留小數點後兩位

2.71828

3不帶小數505

數字補零(填充左邊, 寬度為2)

55***

數字補x(填充右邊, 寬度為4)

1010xx

數字補x(填充右邊, 寬度為4)

1000000

1,000,000

以逗號分隔的數字格式

0.25

25.00%

百分比格式

1000000000

1.00e+09

指數記法

1313

右對齊(預設, 寬度為10)

1313

左對齊(寬度為10)

1313

中間對齊(寬度為10)

方法 replace() 將字元中的 old(舊字串)替換成 new (新字串)

replace() 語法:

str.replace(old,new,[,max])

引數:old – 將被替換的字串;

new – 新字串,用於替換old字串;

max – 可選字串,替換不超過 max 次.

str1 =

'你好$$$我正在學python@#@#現在需要&%&%修改字串'

str2 = str1.replace(

'$$$'

,' '

).replace(

'@#@#'

,' '

).replace(

'&%&%'

,' '

)print

(str2)

# 你好 我正在學python 現在需要 修改字串

如果指定第三個引數 max ,則替換不超過 max 次;

replace不會改變原string的內容

name =

'xiaomzzg'

print

(name.replace(

'zz'

,'in',0

))print

(name)

# xiaoming

# xiaomzzg

split() 通過指定分隔符對字串進行切片,返回乙個字串列表,如果引數 num 有指定值,則分隔 num+1 個子字串

語法:str.split(str="",num=string.count(str))

引數:str – 分隔符,預設為所有的空字元,包括空格、換行(\n)、製表符(\t)等

num – 分隔次數,預設為-1,即分隔所有

str1 =

"aaa\nbbb\nccc"

print

(str1.split())

# 以空格為分隔符,包含 \n

print

(str1.split(

'\n',1

))# 以\n為分隔符,分隔成兩個

name =

'wang#xiao#ming'

print

(name.split(

'#',2)

)# 以#為分隔符,分割成3個

# ['aaa', 'bbb', 'ccc']

# ['aaa', 'bbb\nccc']

# ['wang', 'xiao', 'ming']

Python基礎之格式化輸出

有乙個需求,問使用者的姓名,年齡,工作,愛好,然後列印成以下格式 info of yangwei name yangwei age 22 job it hobby read end 這種形式用字元拼接的方式還很難實現這種格式的輸出,因此需要格式化輸出。只需要把列印的格式先準備好,由於裡面的一些資訊是...

Python 基礎 格式化輸出

現在需要我們錄入我們身邊好友的資訊,格式如下 info of alex li name alex li age 22 job teacher hobbie girl end 我們現在能想到的辦法就是用一下方法 name input 請輸入姓名 age input 請輸入年齡 job input 請輸...

python基礎 格式化輸出

coding utf 8 name tom age 13 通過連線字元 進行拼接 print name is name age is str age 通過格式符 s,d 進行替換,其中 s用於指定字串,d data 用於指定數字 如果不確定列印的數字的型別,則可以使用 r表示 print name ...