ホームページ  >  記事  >  バックエンド開発  >  Pythonの書式文字列の使い方

Pythonの書式文字列の使い方

高洛峰
高洛峰オリジナル
2017-03-21 09:39:241759ブラウズ

1. 書式設定文字関数の概要

アプリケーション シナリオ: 一般に、python が 2 つの 書式設定文字列 メソッドを提供する場合に提供されます。1 つ目はパーセント記号の古代の使用法です。拡張フォーマット文字列、format function2. 古代のパーセント記号メソッド

1. 一般的な使用法

一般的なプレースホルダー: %s -------------文字列プレースホルダー

%d --- ------ ----数値プレースホルダー

%f -------------

浮動小数点型

数値プレースホルダー例: ユーザーの情報を入力して印刷します

name= raw_input('input your name: ')
age= raw_input ('input your age: ')
job = raw_input ('input your job: ')
msg='''                                             #定义变量msg,字符串中提供占位符
Information of user %s:
-------------------------------
Name: %s
Age:  %s
#特别注意这里,像age这种通过raw_input方式定义的变量,python默认都为字符串,因此这里不用%d,而是用%s
#如果非要用%d的话,那么可以在定义age的时候用函数转换 age= int(raw_input ('input your age: '))                          
Job:  %s
--------------End--------------
'''%(name,name,age,job)                   #把3个用户定义的变量依次赋给msg字符串中的各个占位符,实现替换,注意4个要按顺序一一对应
print msg         
结果:
Information of user Mr.Mangood:
-------------------------------
Name: Mr.Mangood
Age:  27
Job:  Engineer
--------------End--------------

2. use

Placeholder構造:

%[(name)]

[flags][width].[precision]typecodewhere:

(name )

オプション、指定されたkeyを選択するために使用されます

>>> info = '''联系人%(name)s的年龄是%(age)d'''%{'name':'Mr.Mangood','age':23} # 这里可以用字典{'name':'Mr.Mangood','age':23}来对占位符传值
>>> print info
联系人Mr.Mangood的年龄是23

[flags]

オプションで、プレースホルダーの幅を設定する場合、例えば20文字が設定されていますが、値を渡す場合は4文字だけを記述すると、一般的には、配置の概念が表示されます。 [width]を使用して

+ 右揃え

- スペース 右揃え

右揃え

[width]

オプションで、プレースホルダーの幅を定義しますりー

.precision

小数点以下の桁数

>>> info = '''联系人%(name)20s的年龄是%(age)d'''%{'name':'Mr.Mangood','age':23}   # 这里的20就是宽度[width],不写[flags]默认右对齐
>>> print info
联系人         Mr.Mangood的年龄是23
>>> info = '''联系人%(name)+20s的年龄是%(age)d'''%{'name':'Mr.Mangood','age':25}  # 这里的+20就是右对齐
>>> print info
联系人          Mr.Mangood的年龄是25
>>> info = '''联系人%(name)-20s的年龄是%(age)d'''%{'name':'Mr.Mangood','age':23}   # 这里的-20就是代表左对齐
>>> print info
联系人Mr.Mangood          的年龄是23

Typecode

必須

c %cは

integerを渡します 数値をUnicode対応の値に変換します

整数を変換しますs を 8 進数に変換表現

x 整数を16進数表現に変換する

>>> info = '''学生%(name)s的年龄是%(age)d平均成绩为%(avgscore).2f'''%{'name':'Mr.Mangood','age':25,'avgscore':85.2479} #这里的.2就代表%f这个浮点型占位符保留两位小数
>>> print info
学生Mr.Mangood的年龄是25平均成绩为85.25

e 整数と浮動小数点数を科学表記法に変換する(科学表記法のeは小文字のe)

E 整数と浮動小数点数を科学表記法に変換する科学的記数法 (科学的記法の E は大文字の E)

>>> s = '''测试ASCII码转换%c测试八进制转换%o测试16进制转换%x'''%(65,9,15)
>>> print s
测试ASCII码转换A测试八进制转换11测试16进制转换f

g 数値の大きさが必要かどうかを自動的に識別 科学的記数法に変換 (6 桁を超える場合は科学的記数法を使用)、科学的記数法の eは小文字です

G 数値の大きさを科学表記に変換する必要があるかどうかを自動的に識別します(6桁を超える場合)数値は科学表記で表現されます)、科学表記のGは大文字です

>>> test = '''测试科学技术法%e测试科学技术法%E'''%(98888888,98888888)
>>> print test
测试科学技术法9.888889e+07测试科学技术法9.888889E+07

%科学表記法の G は大文字にすることができます

>>> test = '''测试科学技术法%e测试科学技术法%g'''%(123456,123456)
>>> print test
测试科学技术法1.234560e+05测试科学技术法123456

以上がPythonの書式文字列の使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。