Python(字符串和编码)

1.    1个中文字符经过UTF-8编码后通常会占用3个字节,而一个英文字符只占1个字节。

2.

#!/usr/bin/env python        #为了告诉Linux/OS X 系统,这是一个Python可执行程序,Windows系统会忽略这个注释
# -*- coding:UTF-8 -*-       #为了告诉Python解释器,按照UTF-8编码读取源代码,否则中文输出可能会有乱码

3.格式化输出:输出类似'亲爱的xxx你好!你xx月的话费是xx,余额是xx'之类的字符串,而xxx的内容都是根据变量变化的,所以,需要一种简便的格式化字符串的方式。其中占位符就是替换变化的内容。

方法一:输出格式:左边用占位符 % 右边为替换内容     (输出单个直接用' ',输出多个用(),前后要对应)

举例如下:

>>> 'hello,%s' % 'world'
'hello,world'
>>> 'Hi,%s,you have $%d.' % ('john',1000)
'Hi,john,you have $1000.'

格式化整数和浮点数可以指定是否补0和小数的位数:

>>> print('%2d-%02d' % (3, 1))       #' %02d '表示1前补0
3-01
>>> print('%.2f' % 3.1415926)         #' %.2f '表示保留两位小数
3.14

注意:如果不太确定应该用什么,%s永远起作用,它会把任何数据类型转换为字符串:

>>> 'Age:%s.Gender:%s' % (25,True)
'Age:25.Gender:True'

有时候,要输出%,即字符串里面的%是一个普通字符。需要转义,用%%来输出后面的一个%:

>>> 'growth rate:%d %%' % 7
'growth rate:7 %'

格式化输出方法二:字符串的format()方法,它会用传入的参数依次替换字符串内的占位符{0}{1}……

输出大致格式:'左边用{0},{1}...'.format(对应1,对应2)

举例:

print('Hello,{0},成绩提升了{1:.1f}%'.format('小明',17.125))
Hello,小明,成绩提升了17.1%

练习:小明的成绩从去年的72分提升到了今年的85分,请计算小明成绩提升的百分点,并用字符串格式化显示出'xx.x%',只保留小数点后1位:

a1=72
a2=85
p=(a2-a1)*100/a1      #记住:小的/大的=0恒成立,即/出来的都是0,先乘以100再除,得出的就不是0.0%
print('小明成绩提高的百分点:%.1f %%' % p)
print('小明的成绩提高百分点{0:.1f}%'.format(p))

 

posted @ 2018-03-12 11:20  木心熊  阅读(136)  评论(0编辑  收藏  举报