string

字符串,和列表、元组,都适用序列操作。

关于python转义字符

迭代

for x in S: print(x)
[c * 2 for c in S]

Comparasion:

>>> title = "mean"'of'"lid"
>>> title
'meanoflid'
>>> title = "mean",'of',"lid"
>>> title
('mean', 'of', 'lid')

python3中如何print不换行:

>>> myjob = "hacker"
>>> for c in myjob: print(c, end=' ')
...
h a c k e r >>>

索引和分片:通过[]进行操作

扩展分片:s[x:y:z],索引s中的元素,从偏移x到偏移为y-1,每隔z个元素索引一次

>>> s = 'abcdefghijklmnopqrstuvwxyz'
>>> s[1:20:2]
'bdfhjlnprt' >>> s = 'hello'
>>> s[::-1]
'olleh' >>> s = 'abcedfg'
>>> s[5:1:-1]
'fdec'

sys中的argv属性: non-understanding

chr() & ord()				#ASCII码与字符转换
str() & int() or float() #数转串 & 串转数

内置eval函数: non-understanding



一些方法调用:

( 它们都不会改变字符串s )

'X' in S
s.find('pa') # 返回字串位置,若无返回-1
s.rstrip() # 移除末尾字符(默认是空格)
s.replace('a', 'b') # replace all
s.replace('a', 'b', k) # replace k times
s.split([',',[2]]) # be split by ',' for 2 times
s.isdigit() # 或是isalpha
s.lower() # 或是upper
s.endswith('spam') # 或是startswith
'spam'.join(s) # 用‘spam’将s所有字符连接
'X'.join([S1, S2, S3]) # 用‘X’将S1, S2, S3连接

关于 rstrip



若需要对一个超长字符串进行许多的修改,为了优化脚本的性能,可能需要将字符串转换为一个支持原处修改的对象。例如:list函数

>>> S = 'spammy'
>>> L = list(S)
>>> L[3] = 'x'
>>> S = ''.join(L)

格式化表达式

"%a %s parrot" % kind
"a {0} parrot".format(kind) 'That is %d %s bird!' % (1, 'dead')
'That is {0} {1} bird!'.format(1, 'dead')
'%s -- %s -- %s' % (42, 3,14159, [1, 2, 3])
#所有类型都可以转换为字符串,故都用%s也是正确的 '%.*f' % (4, 1/3.0)
#用*指定width和precision,它们的值从%运算符右边的下一项获取

details : http://www.cnblogs.com/vamei/archive/2013/03/12/2954938.html

基于字典的字符串格式化

>>> "%(n)d %(x)s" % {"n":1, "x":"spam"}
'1 spam' >>> reply = """
Greetings...
Hello %(name)s!
Your age squared is %(age)s
"""
>>> values = {'name': 'Bob', 'age': 40}
>>>print(reply % values) 内置函数vars:
>>> food = 'spam'
>>> age = 40
>>> vars()
{'food':'spam', 'age':40, ...many more...} >>> "%(age)d %(food)s" % vars()
'40 spam'

format方法

在主体字符串中,花括号通过位置({1})或关键字({food})指出替换目标及将要插入的参数。

>>> template = '{0}, {1} and {2}'
>>> template.format('spam', 'ham', 'eggs')
'spam, ham and eggs' >>> template = '{motto}, {pork} and {food}'
>>> template.format(motto='spam', pork='ham', food='eggs')
'spam, ham and eggs' >>> '{motto}, {0} and {food}'.format(42, motto=3.14, food=[1, 2])
'3.14, 42 and [1, 2]'

格式化字符串可以指定对象属性和字典键,方括号指定字典键,点表示位置或关键字所引用的一项的对象属性。

>>> import sys

>>> 'My {1[spam]} runs {0.platform}'.format(sys, {'spam':'laptop'})
'My laptop runs darwin' >>> 'My {config[spam]} runs {sys.platform}'.format(sys=sys,
config={'spam':'laprop'})
'My laptop runs darwin'

方括号可以指定列表(及其他的序列)偏移量以执行索引。

>>> somelist = list('spam')
>>> 'first = {0[0]}, third = {0[2]}'.format(somelist)
'first = s, third = a' >>> 'first = {0}, last = {1}'.format(somelist[0], somelist[-1])
'first = s, last = m' >>> parts = somelist[0], somelist[-1], somelist[1:3]
>>> 'first = {0}, last = {1}, middle = {2}'.format(*parts) ##
"first = s, last = m, middle = ['p', 'a']"

??parts前为什么要有 ' * ' , 是什么意思

添加具体格式化

{fieldname!conversionflag:formatspec}

fieldname: 指定参数的一个数字或关键字,后面跟着可选的“.name”或“[index]”成分引用

conversionflag: 对repr、str、ascii内置函数的调用,用r、s、a表示

formatspec: 包括字段宽度、对齐方式、补零、小数点精度等细节

>>> '{0:>10} = {1:<10}'.format('spam', 123.4567)
' spam = 123.4567 '
>>> '{0.platform:>10} = {1[item]:<10'.format(sys, dict(item='laptop'))
' darwin = laptop ' >>> '{0:e}, {1:.3e}, {2:g}'.format(3.14159, 3.14159, 3.14159)
'3.141590e+00, 3.142e+00, 3.14159'
>>> '{0:f}, {1:.2f}, {2:06.2f}'.format(3.14159, 3.14159, 3.14159)
'3.141590, 3.14, 003.14' >>> '{0:X}, {1:o}, {2:b}'.format(255, 255, 255)
'FF, 377, 111111111' >>> '{0:.{1}f}'.format(1 / 3.0, 4)
'0.3333'
>>> '%.*f' % (4, 1 / 3.0)
'0.3333' >>> format(1.2345, '.2f')
'1.23'

《Python学习手册》(三)的更多相关文章

  1. 读书分享全网学习资源大合集,推荐Python学习手册等三本书「01」

    0.前言 在此之前,我已经为准备学习python的小白同学们准备了轻量级但超无敌的python开发利器之visio studio code使用入门系列.详见 1.PYTHON开发利器之VS Code之 ...

  2. 《Python学习手册》读书笔记

    之前为了编写一个svm分词的程序而简单学了下Python,觉得Python很好用,想深入并系统学习一下,了解一些机制,因此开始阅读<Python学习手册(第三版)>.如果只是想快速入门,我 ...

  3. 《Python学习手册》读书笔记【转载】

    转载:http://www.cnblogs.com/wuyuegb2312/archive/2013/02/26/2910908.html 之前为了编写一个svm分词的程序而简单学了下Python,觉 ...

  4. 《Python学习手册 第五版》 -第11章 赋值、表达式和打印

    上一章对Python的语句和语法已经进行了基本的说明,接下来就是每个章节的详细说明,本章的主要内容就是标题中涵盖的三点:赋值语句.表达式语句.打印语句 本章重点内容如下: 1.赋值语句 1)赋值语句的 ...

  5. 《Python学习手册 第五版》 -第10章 Python语句简介

    前面在开始讲解数据类型的时候,有说过Python的知识结构,在此重温一下 Python知识结构: 程序由模块组成 模块包含语句 语句包含表达式 表达式创建并处理对象 关于知识结构,前面已经说过我自己的 ...

  6. 《Python学习手册 第五版》 -第18章 参数

    在函数的定义和调用中,参数是使用最多喝最频繁的,本章内容就是围绕函数的参数进行讲解 本章重点内容如下: 1.参数的传递 1)不可变得参数传递 2)可变得参数传递 2.参数的匹配模式 1)位置次序:从左 ...

  7. 《Python学习手册 第五版》 -第15章 文档

    本章主要介绍Python中的文档,会通过多种方式来说明,如果查看Python自带文档和其他参考的资料 本章重点内容 1.#注释:源文件文档 2.dir函数:以列表显示对象中可用的属性 3.文档字符串 ...

  8. 《Python学习手册 第五版》 -第16章 函数基础

    前面的章节讲解的是一些基础数据类型.基本语句使用和一些文档查看的内容,这些都是一些基础,其实还谈不上入门,只有了解了函数,才算入门 函数是编程里面使用最多的也是最基本的程序结构, 本章重点内容 1.函 ...

  9. Python学习手册(第4版) - 专业程序员的养成完整版PDF免费下载_百度云盘

    Python学习手册(第4版) - 专业程序员的养成完整版PDF免费下载_百度云盘 提取码:g7v1 作者简介 作为全球Python培训界的领军人物,<Python学习手册:第4版>作者M ...

  10. Python学习手册(第4版)PDF高清完整版免费下载|百度云盘

    Python学习手册(第4版)PDF高清完整版免费下载|百度云盘 提取码:z6il 内容简介 Google和YouTube由于Python的高可适应性.易于维护以及适合于快速开发而采用它.如果你想要编 ...

随机推荐

  1. 在ASP.NET MVC3 中利用JSONP跨域登录WEB系统

    在信息系统开发的时,根据相关业务逻辑难免会多系统之间互相登录.一般情况下我们需要在多系统之间使用多个用户名和密码.这样客户就需要在多个系统之间重复登陆.每次登录都需要输入用户名和密码.最近比较流行的就 ...

  2. ITMS-SERVICES://方式安装IPA在IOS 7.1中的变化

    转:https://laoyur.com/?p=414 iOS7.1中,通过itms-services://方式安装ipa已经发生了改变,.plist文件必须是https://的,.ipa文件的链接则 ...

  3. 02、微信小程序的数据绑定

    02.微信小程序的数据绑定 目录结构: 模板内容: 使用bindtap绑定事件 <!--index.wxml--> <view class="container" ...

  4. python中获取字典的key列表和value列表

    # -*- coding: utf-8 -*- # 定义一个字典 dic = {'剧情': 11, '犯罪': 10, '动作': 8, '爱情': 3, '喜剧': 2, '冒险': 2, '悬疑' ...

  5. 容灾 RPO RTO

    w https://en.wikipedia.org/wiki/Recovery_point_objective A recovery point objective, or “RPO”, is de ...

  6. IDEA 录制宏+设置快捷键 实现写时编译

    参考: IDEA 录制宏+设置快捷键 实现写时编译:https://blog.csdn.net/wangjie919/article/details/79487981 IDEA 设置运行时不编译项目: ...

  7. 3.Write Scripts for the mongo Shell-官方文档摘录

    总结 1 使用js进行获取数据的方法 2 js方式和原生mongo shell的交互方式的区别写法 3 需要将所有数据打印出来使用到的循环示例 cursor = db.collection.find( ...

  8. Python变量和基本数据类型

    1.变量 a .什么是变量 变量即变化的量,核心是“变”与“量”二字,变即变化,量即衡量状态. b.为什么要有变量 程序执行的本质就是一系列状态的变化,变是程序执行的直接体现,所以我们需要有一种机制能 ...

  9. MySQL数据库(3)- 完整性约束、外键的变种、单表查询

    一.完整性约束 在创建表时候,约束条件和数据类型的宽度都是可选参数. 作用:用于保证数据的完整性和一致性. 1.not null(不可空)与default 示例一:插入一个空值,如下: mysql&g ...

  10. 信息安全意识教育日历——By 安全牛

    安全牛:企业即使投入再好的信息安全技术和产品,也难以解决内部威胁以及社会工程等攻击手段,无法做到全面有效地保护企业信息资产.而通过开展员工的信息安全意识培训教育工作,不仅能降低企业风险.满足合规要求, ...