一、字符串输出及运算

1.常用输出格式及方法

 print('')#单引号
print("")#双引号
print("""""")#三个引号
1234567890
1234567890
1234567890 Process finished with exit code 0

运行结果

没有任何区别,这就对了,我们可以通过不同的三种引号来输出指定的字符串。

 print(''456'')#内部引号输出错误
print(""456"")#内部引号输出错误
 File "C:/Users/AMTF/PycharmProjects/untitled1/CLASS/Test1.py", line 1
print(''456'')#内部单引号输出错误
^
SyntaxError: invalid syntax

运行结果

想输出带引号的字符串123‘456’789,却报错了,想不通!那么看看下面的代码就ok了!

解决方案1:

 1 print("123'456'789")#外面用双引号    

123''789

Process finished with exit code 0

运行结果

解决方案2:

 1 print('123\'456\'789')#在单引号前加转意符\

123''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=datetime.datetime.now()
>>> now.strftime('%a')
'Sun'

%A 输出完整的星期几名称英文

>>> import datetime
>>> now=datetime.datetime.now()
>>> now.strftime('%A')
'Sunday'

%b  输出月份的英文简写

>>> import datetime
>>> now=datetime.datetime.now()
>>> now.strftime('%b')
'Sep'

%B 输出月份的英文完整名称

>>> import datetime
>>> now=datetime.datetime.now()
>>> now.strftime('%B')
'September'

%c 以本地时间显示日期和时间

>>> import datetime
>>> now=datetime.datetime.now()
>>> now.strftime('%c')
'09/15/13 21:43:29'

%d 显示1-31之间的数,每月的第几天,也就是年月日中的日

>>> import datetime
>>> now=datetime.datetime.now()
>>> now.strftime('%d')
'15'

%H  以24小时制显示小时,比如,02,14

>>> import datetime
>>> now=datetime.datetime.now()
>>> now.strftime('%H')
'21'

%I 以12小时制的方式显示当前小时,例如当前jb51.net服务器的时间为晚上21点,使用%I显示09

>>> import datetime
>>> now=datetime.datetime.now()
>>> now.strftime('%I')
'09'

%j 显示当前日期为一年中的第几天,如当前jb51.net服务器时间为2013年9月15日,则显示为258,也就是一年中的第258天

>>> import datetime
>>> now=datetime.datetime.now()
>>> now.strftime('%j')
'258'

%m 显示1-12之间的月份

>>> import datetime
>>> now=datetime.datetime.now()
>>> now.strftime('%m')
'09'

%M 显示00-59之间的分钟数

>>> import datetime
>>> now=datetime.datetime.now()
>>> now.strftime('%M')
'43'

%p 以 A.M./P.M.方式显示是上午还是下午

>>> import datetime
>>> now=datetime.datetime.now()
>>> now.strftime('%p')
'PM'

%S 显示0-59之间的秒数

>>> import datetime
>>> now=datetime.datetime.now()
>>> now.strftime('%S')
'29'

%U 显示一年中的第几周,星期天为一周的第一天,例如当前www.jb51.net服务器时间为2013年9月15日,星期天,显示为第37周

>>> import datetime
>>> now=datetime.datetime.now()
>>> now.strftime('%U')
'37'

%w  显示一周中的第几天,其中星期天为0,星期一为1,例如:jb51.net当前日期为2013年9月17日星期二,则显示结果为2

>>> import datetime
>>> now=datetime.datetime.now()
>>> now.strftime('%w')
'2'

%W 显示一年中的第几周,和U%把不同的是星期一为一周的第一天,例如当前www.jb51.net服务器时间为2013年9月17日,星期二,显示为第37周,范围在0-51之间

>>> import datetime
>>> now=datetime.datetime.now()
>>> now.strftime('%W')
'37'

%x 显示当地的日期,例如jb51.net本地时间为:北京时间2013年9月17日

>>> import datetime
>>> now=datetime.datetime.now()
>>> now.strftime('%x')
'09/17/13'

%X 显示当地的时间,例如jb51.net本地时间为:北京时间2013年9月17日 07:55:04

>>> import datetime
>>> now=datetime.datetime.now()
>>> now.strftime('%X')
'07:55:04'

%y 显示(00 - 99) 之间的年份,例如:jb51.net服务器时间为:2013年9月17日,则显示结果为13

>>> import datetime
>>> now=datetime.datetime.now()
>>> now.strftime('%y')
'13'

%Y 显示完整年份,例如:jb51.net服务器时间为:2013年9月17日,则显示结果为2013

>>> import datetime
>>> now=datetime.datetime.now()
>>> now.strftime('%Y')
'2013'

%z, %Z 输出时区,如果不能显示,则显示为空字符 %%  用于显示%符号

>>> now.strftime('%%')
'%'

在举一个完整的例子: 
显示当前日期时间:格式为:年-月-日 时:分:秒

>>> datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S');
'2013-09-17 08:06:17'

Python学习笔记 (2) :字符串输出、操作、格式化和日期、时间格式化的更多相关文章

  1. Python学习笔记:time模块和datetime模块(时间和日期)

    time模块 time模块通常用来操作时间戳信息(各种“秒”),常用的方法有: time.sleep(seconds):将当前程序阻塞指定秒数,然后继续运行程序. time.time():返回当前时间 ...

  2. 【Python学习笔记】字符串操作

    字符串的表示 python中的字符串是一个常量,可以使用单引号'',双引号""或三引号""" """来创建一个字符串常量 ...

  3. Python学习笔记-输入与输出

    一.Python提供了raw_input()和input()两个函数实现数据输入. 1.raw_input() 接收字符串类型的输入数据. str1=raw_input("请输入字符串:&q ...

  4. python学习笔记(十 二)、操作数据库

    每一种语言都少不了多数据库进行各种操作. python支持多种数据库.有关python支持的数据库清单,请参阅:https://wiki.python.org/moin/DatabaseInterfa ...

  5. Python学习笔记之字符串

    一.字符串格式化 >>> format="Hello,%s. %s enough for ya?" >>> values=('World','H ...

  6. python学习笔记2-字符串操作

    一.字符串切片 #切片也能适合字符串 tittle='今 天 发 苹 果' for i t in enumerate(tittle): #enumerate可以同时循环下标和值 print('%s:% ...

  7. Python自学笔记之字符串的操作

    1.将字符串全部变为小写:lower() casefold() 范围更广 2.将字符串全部变为大写:upper() 3.判断是否大小写:isupper() islower() 4.居中:center( ...

  8. Python学习笔记一--字符串的使用

    一.基本操作 1. 合并字符串:“+” 2. 打印重复的字符串:"*"      3. 按位获取字符串中的字符:索引      4. 按位获取字符串中的子字符串:分片      5 ...

  9. JAVA中String.format的用法 格式化字符串,格式化数字,日期时间格式化,

    1.对整数进行格式化:%[index$][标识][最小宽度]转换方式        我们可以看到,格式化字符串由4部分组成,其中%[index$]的含义我们上面已经讲过,[最小宽度]的含义也很好理解, ...

  10. python学习笔记(字符串操作、字典操作、三级菜单实例)

    字符串操作 name = "alex" print(name.capitalize()) #首字母大写 name = "my name is alex" pri ...

随机推荐

  1. [Ext JS 4] Grid 实战之分页功能

    前言 分页功能的实现有两种途径: 一种是服务端分页方式, 也就是web客户端传递页码参数给服务端,服务端根据页面参数返回指定条数的数据.也就是要多少取多少.这种方式比较适合Grid  的数据量很大,需 ...

  2. Java面试题之四

     十六.运行时异常与一般异常有何异同 Java提供了两类主要的异常:runtime exception和checked exception. 1.checked exception:这种异常也就是我们 ...

  3. ZOJ1100 状压DP +深搜

    记得做过类似于这类题目是能够用组合数学方法来解决的,可惜淡忘了,也找不到了,看了网上的也有人提到过能够用组合公式解决,但是没人做,都是用了状压DP的方法,这个状压非常难讲清楚吧,推荐两篇 第一遍大体看 ...

  4. Android采用HttpClient下载图片

    在上一章中谈到Android采用HttpURLConnection下载图片,本章使用HttpClient下载图片 HttpURLConnection与HttpClient的差别: HttpClient ...

  5. The Swift Programming Language--语言指南--协议

    Protocol(协议)用于统一方法和属性的名称,而不实现任何功能.协议能够被类,枚举,结构体实现,满足协议要求的类,枚举,结构体被称为协议的遵循者.   遵循者需要提供协议指定的成员,如属性,方法, ...

  6. iOS点滴- ViewController详解

    一.生命周期 当一个视图控制器被创建,并在屏幕上显示的时候. 代码的执行顺序 1. alloc                              创建对象,分配空间 2.init (initW ...

  7. 编写可维护的JS 05

    5.UI层的松耦合 松耦合定义 每个组件尽量独立,修改一个不影响其他的组件 将Js从css中抽离 不要使用css表达式,因为浏览器会以高频率重复计算css表达式,严重影响性能,IE9不支持表达式 将C ...

  8. 使用Spire PDF for .NET将HTML转换成PDF文档

    目录 开发环境说明 Spire PDF for .NET (free edition)体验 资源下载 开发环境说明 Microsoft Visual Studio 2013 Ultimate Edit ...

  9. fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'x64'

    xxxxxx.lib(xxxxxx.obj) : fatal error LNK1112: module machine type 'X86' conflicts with target machin ...

  10. R与数据分析旧笔记(八)多重共线性

    多重共线性(线性代数叫线性相关) 多重共线性(线性代数叫线性相关) 1.什么是多重共线性 2.多重共线性对回归模型的影响 3.利用计算特征根发现多重共线性 4.Kappa()函数 例题1 考虑一个有六 ...