アプリケーション シナリオ: 一般に、python が 2 つの 書式設定文字列 メソッドを提供する場合に提供されます。1 つ目はパーセント記号の古代の使用法です。拡張フォーマット文字列、format function。 2. 古代のパーセント記号メソッド
一般的なプレースホルダー: %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
オプションで、プレースホルダーの幅を設定する場合、例えば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
必須
c %cはintegerを渡します 数値をUnicode対応の値に変換します
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)
>>> s = '''测试ASCII码转换%c测试八进制转换%o测试16进制转换%x'''%(65,9,15)
>>> print s
测试ASCII码转换A测试八进制转换11测试16进制转换f
G 数値の大きさを科学表記に変換する必要があるかどうかを自動的に識別します(6桁を超える場合)数値は科学表記で表現されます)、科学表記のGは大文字です
>>> test = '''测试科学技术法%e测试科学技术法%E'''%(98888888,98888888)
>>> print test
测试科学技术法9.888889e+07测试科学技术法9.888889E+07
>>> test = '''测试科学技术法%e测试科学技术法%g'''%(123456,123456)
>>> print test
测试科学技术法1.234560e+05测试科学技术法123456
以上がPythonの書式文字列の使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。