Python学习笔记(2):字符串输出、操作、格式化和⽇期、时
间格式化
⼀、字符串输出及运算
1.常⽤输出格式及⽅法
1print('1234567890')#单引号
2print("1234567890")#双引号
3print("""1234567890""")#三个引号
1234567890
1234567890
1234567890
Process finished with exit code 0
运⾏结果
没有任何区别,这就对了,我们可以通过不同的三种引号来输出指定的字符串。
1print('123'456'789')#内部引号输出错误
2print("123"456"789")#内部引号输出错误
File "C:/Users/AMTF/PycharmProjects/untitled1/CLASS/Test1.py", line 1
print('123'456'789')#内部单引号输出错误
^
SyntaxError: invalid syntax
运⾏结果
想输出带引号的字符串123‘456’789,却报错了,想不通!那么看看下⾯的代码就ok了!
解决⽅案1:
 1print("123'456'789")#外⾯⽤双引号 
123'456'789
Process finished with exit code 0
运⾏结果
解决⽅案2:
 1print('123\'456\'789')#在单引号前加转意符\
123'456'789
Process finished with exit code 0
运⾏结果
多⾏字符串输出
1 print('''\
2      姓名:司马涂登
3      年龄:68岁
4      性别:男
5      特长:阅览书过⽬不忘
6 ''')
运⾏结果
2.字符转义、运算、格式化
就是字符串转义⽤法:
Python字符串运算符
下表实例变量a值为字符串"Hello",b变量值为"Python":
Python字符串格式化
Python ⽀持格式化字符串的输出。尽管这样可能会⽤到⾮常复杂的表达式,但最基本的⽤法是将⼀个值插⼊到⼀个有字符串格式符 %s 的字符串中。
⽤format函数格式化字符串的⽤法
语法
它通过{}和:来代替%。
“映射”⽰例
通过位置
In [1]: '{0},{1}'.format('kzc',18)
Out[1]: 'kzc,18'
In [2]: '{},{}'.format('kzc',18)
Out[2]: 'kzc,18'
In [3]: '{1},{0},{1}'.format('kzc',18)
Out[3]: '18,kzc,18'
字符串的format函数可以接受不限个参数,位置可以不按顺序,可以不⽤或者⽤多次,不过2.6不能为空{},2.7才可以。
通过关键字参数
In [5]: '{name},{age}'.format(age=18,name='kzc')
Out[5]: 'kzc,18'
通过对象属性
class Person:
def __init__(self,name,age):
self.name,self.age = name,age
def __str__(self):
return 'This guy is {self.name},is {self.age} old'.format(self=self)
In [2]: str(Person('kzc',18))
Out[2]: 'This guy is kzc,is 18 old'
通过下标
In [7]: p=['kzc',18]
In [8]: '{0[0]},{0[1]}'.format(p)
Out[8]: 'kzc,18'
有了这些便捷的“映射”⽅式,我们就有了偷懒利器。基本的python知识告诉我们,list和tuple可以通过“打散”成普通参数给函数,⽽dict可以打散成关键字参数给函数(通过和*)。所以可以轻松的传个list/tuple/dict给format函数。⾮常灵活。
格式限定符
它有着丰富的的“格式限定符”(语法是{}中带:号):
填充与对齐
填充常跟对齐⼀起使⽤
^、<、>分别是居中、左对齐、右对齐,后⾯带宽度
:号后⾯带填充的字符,只能是⼀个字符,不指定的话默认是⽤空格填充
⽐如:
In [15]: '{:>8}'.format('189')
Out[15]: ' 189'
In [16]: '{:0>8}'.format('189')
Out[16]: '00000189'
In [17]: '{:a>8}'.format('189')
Out[17]: 'aaaaa189'
精度与类型f
精度常跟类型f⼀起使⽤
In [44]: '{:.2f}'.format(321.33345)
Out[44]: '321.33'
其中.2表⽰长度为2的精度,f表⽰float类型。
其他类型
主要就是进制了,b、d、o、x分别是⼆进制、⼗进制、⼋进制、⼗六进制。
In [54]: '{:b}'.format(17)
Out[54]: '10001'
In [55]: '{:d}'.format(17)
Out[55]: '17'
In [56]: '{:o}'.format(17)
Out[56]: '21'
In [57]: '{:x}'.format(17)
Out[57]: '11'
⽤,号还能⽤来做⾦额的千位分隔符。
In [47]: '{:,}'.format(1234567890)
Out[47]: '1,234,567,890'
python中⽇期和时间格式化输出的⽅法:
具体分析如下:
python格式化⽇期时间的函数为datetime.datetime.strftime();由字符串转为⽇期型的函数为:datetime.datetime.strptime(),两个函数都涉及⽇期时间的格式化字符串,这⾥提供详细的代码详细演⽰了每⼀个参数的使⽤⽅法及范例。
下⾯是格式化⽇期和时间时可⽤的替换符号 %a 输出当前是星期⼏的英⽂简写
>>> import datetime
>>> now=w()
>>> now.strftime('%a')
'Sun'
%A 输出完整的星期⼏名称英⽂
>>> import datetime
>>> now=w()
>>> now.strftime('%A')
'Sunday'
%b  输出⽉份的英⽂简写
>>> import datetime
>>> now=w()
>>> now.strftime('%b')
'Sep'
%B 输出⽉份的英⽂完整名称
>>> import datetime
>>> now=w()
>>> now.strftime('%B')
'September'
%c 以本地时间显⽰⽇期和时间
>>> import datetime
>>> now=w()
>>> now.strftime('%c')
'09/15/13 21:43:29'
%d 显⽰1-31之间的数,每⽉的第⼏天,也就是年⽉⽇中的⽇
>>> import datetime
>>> now=w()
>>> now.strftime('%d')
'15'
%H  以24⼩时制显⽰⼩时,⽐如,02,14
>>> import datetime
>>> now=w()
>>> now.strftime('%H')
'21'
%I 以12⼩时制的⽅式显⽰当前⼩时,例如当前jb51服务器的时间为晚上21点,使⽤%I显⽰09
>>> import datetime
>>> now=w()
>>> now.strftime('%I')
'09'
日期转字符串函数%j 显⽰当前⽇期为⼀年中的第⼏天,如当前jb51服务器时间为2013年9⽉15⽇,则显⽰为258,也就是⼀年中的第258天>>> import datetime
>>> now=w()
>>> now.strftime('%j')
'258'
%m 显⽰1-12之间的⽉份
>>> import datetime
>>> now=w()
>>> now.strftime('%m')
'09'
%M 显⽰00-59之间的分钟数
>>> import datetime
>>> now=w()
>>> now.strftime('%M')
'43'
%p 以 A.M./P.M.⽅式显⽰是上午还是下午
>>> import datetime
>>> now=w()
>>> now.strftime('%p')
'PM'
%S 显⽰0-59之间的秒数
>>> import datetime
>>> now=w()
>>> now.strftime('%S')
'29'
%U 显⽰⼀年中的第⼏周,星期天为⼀周的第⼀天,例如当前www.jb51服务器时间为2013年9⽉15⽇,星期天,显⽰为第37周>>> import datetime
>>> now=w()
>>> now.strftime('%U')
'37'
%w  显⽰⼀周中的第⼏天,其中星期天为0,星期⼀为1,例如:jb51当前⽇期为2013年9⽉17⽇星期⼆,则显⽰结果为2 >>> import datetime
>>> now=w()
>>> now.strftime('%w')
'2'
%W 显⽰⼀年中的第⼏周,和U%把不同的是星期⼀为⼀周的第⼀天,例如当前www.jb51服务器时间为2013年9⽉17⽇,星期⼆,显⽰为第37周,范围在0-51之间
>>> import datetime
>>> now=w()
>>> now.strftime('%W')
'37'
%x 显⽰当地的⽇期,例如jb51本地时间为:北京时间2013年9⽉17⽇
>>> import datetime
>>> now=w()
>>> now.strftime('%x')
'09/17/13'
%X 显⽰当地的时间,例如jb51本地时间为:北京时间2013年9⽉17⽇ 07:55:04
>>> import datetime
>>> now=w()
>>> now.strftime('%X')
'07:55:04'
%y 显⽰(00 - 99) 之间的年份,例如:jb51服务器时间为:2013年9⽉17⽇,则显⽰结果为13
>>> import datetime
>>> now=w()
>>> now.strftime('%y')
'13'
%Y 显⽰完整年份,例如:jb51服务器时间为:2013年9⽉17⽇,则显⽰结果为2013
>>> import datetime
>>> now=w()
>>> now.strftime('%Y')
'2013'
%z, %Z 输出时区,如果不能显⽰,则显⽰为空字符 %%  ⽤于显⽰%符号
>>> now.strftime('%%')
'%'
在举⼀个完整的例⼦:
显⽰当前⽇期时间:格式为:年-⽉-⽇时:分:秒
>>> w().strftime('%Y-%m-%d %H:%M:%S');
'2013-09-17 08:06:17'

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。