Python基础教程-02
《Python基础教程》
第3章 使用字符串
字符串方法find返回的并非布尔值。如果find像这样返回0,就意味着它在索引0处找到 了指定的子串
join可合并一个字符串列表,不能合并数字列表
#合并字符串列表
dirs = '', 'usr', 'bin', 'env'
print('C:' + '\\'.join(dirs))
#输出结果
C:\usr\bin\env
strip将字符串开头和末尾的空白(但不包括中间的空白)删除,并返回删除后的结果
#默认删除开头和结尾的空字符串
names = ['gumby', 'smith', 'jones']
name = 'gumby '
if name.strip() in names: print('Found it!')
#执行结果
Found it!
*************************************
#指定删除开头和结尾的字符串
s = " I am very very very sorry "
s.strip(' overys')
#执行结果
'I am'方法translate与replace一样替换字符串的特定部分,但不同的是它只能进行单字符替换。 这个方法的优势在于能够同时替换多个字符,因此效率比replace高。使用translate前必须创建一个转换表。这个转换表指出了不同Unicode码点之间的转换关系
#替换两个字符
table = str.maketrans('cs', 'kz')
print(table)
'this is an incredible test'.translate(table)
#执行结果
{99: 107, 115: 122}
'thiz iz an inkredible tezt'
*************************************
#替换字符并删除空格
table = str.maketrans('cs', 'kz', ' ')
'this is an incredible test'.translate(table)
#执行结果
'thizizaninkredibletezt'第4章 当索引行不通时
字典由键及其相应的值组成,这种键值对称为项(item)
与list、tuple和str一样,dict其实根本就不是函数,而是一个类
相比于检查列表是否包含指定的值,检查字典是否包含指定的键的效率更高。数据结构 越大,效率差距就越大。
要对字典执行字符串格式设置操作,不能使用format
和命名参数,而必须使用format_map
phonebook = {'Beth': '9102', 'Alice': '2341', 'Cecil': '3258'}
"Cecil's phone number is {Cecil}.".format_map(phonebook)
#执行结果
"Cecil's phone number is 3258."
第5章 条件、循环及其他语句
带星号的变量最终包含的总是一个列表,在变量和值的个数相同时亦如此,详见以下例子。
a, *b, c = "abc"
a, b, c
#执行结果
('a', ['b'], 'c')标准值False和None、各种类型(包括浮点数、复数等)的数值0、空序列(如空 字符串、空元组和空列表)以及空映射(如空字典)都被视为假,而其他各种值都被视为真1, 包括特殊值True2
bool('') -->False
bool(0) -->False
bool('I think, therefore I am') -->True
bool(42) -->True要获悉字母的顺序值,可使用函数ord。这个函数的作用与函数chr相反
==用来检查两个对象是否相等,而is用来检查两个对象是否相同(是同一个对象)
将整数与字符串相加毫无意义,检查一个整数是否小于一个字符串也是一样
x is y是指x和y是同一个对象,x in y是指x是容器(如序列)y的成员;都属于Python比较运算符。
要结束(跳出)循环,可使用break;语句continue没有break用得多,它结束当前迭代,并跳到下一次迭代开头。
你可 能编写了一条if语句并想尝试运行它,但其中缺少一个代码块,这些代码不能运行,因为在Python中代码块不能为空。要修复这个问题,只需在中间的代码 块中添加一条pass语句即可
eval是一个类似于exec的内置函数。exec执行一系列Python语句,而eval计算用字符串表示 的Python表达式的值,并返回结果(exec什么都不返回,因为它本身是条语句)
函数 说明 chr(n) 返回一个字符串,其中只包含一个字符,这个字符对应于传入的顺序值n(0 ≤ n < 256) eval(source[,globals[,locals]]) 计算并返回字符串表示的表达式的结果 exec(source[, globals[, locals]]) 将字符串作为语句执行 enumerate(seq) 生成可迭代的索引值对 ord(c) 接受一个只包含一个字符的字符串,并返回这个字符的顺序值(一个整数) range([start,] stop[, step]) 创建一个由整数组成的列表 reversed(seq) 按相反的顺序返回seq中的值,以便用于迭代 sorted(seq,cmp[,reverse]) 返回一个列表,其中包含seq中的所有值且这些值是经过排序的 xrange([start,] stop[, step]) 创建一个用于迭代的xrange对象 zip(seq1, seq2,...) 创建一个适合用于并行迭代的新序列
函数 说明 string.capwords(s[, sep]) 使用split根据sep拆分s,将每项的首字母大写,再以空格为分隔符将它们合并起来 ascii(obj) 创建指定对象的ASCII表示 split是一个作用与join相反,用于将字符串拆分为序列。如果没有指定分隔符,将默认在单个或多个连续的空白字符(空格、制表符、换行符 等)处进行拆分
#使用制定分隔符拆分序列
'/usr/bin/env'.split('/')
#输出结果
['', 'usr', 'bin', 'env']
*************************************
#不使用制定分隔符拆分
'Using the default'.split()
#执行结果
['Using', 'the', 'default']
Python基础教程-02的更多相关文章
- (Python基础教程之十三)Python中使用httplib2 – HTTP GET和POST示例
Python基础教程 在SublimeEditor中配置Python环境 Python代码中添加注释 Python中的变量的使用 Python中的数据类型 Python中的关键字 Python字符串操 ...
- 改写《python基础教程》中的一个例子
一.前言 初学python,看<python基础教程>,第20章实现了将文本转化成html的功能.由于本人之前有DIY一个markdown转html的算法,所以对这个例子有兴趣.可仔细一看 ...
- .Net程序员之Python基础教程学习----列表和元组 [First Day]
一. 通用序列操作: 其实对于列表,元组 都属于序列化数据,可以通过下表来访问的.下面就来看看序列的基本操作吧. 1.1 索引: 序列中的所有元素的下标是从0开始递增的. 如果索引的长度的是N,那么所 ...
- python基础教程笔记—即时标记(详解)
最近一直在学习python,语法部分差不多看完了,想写一写python基础教程后面的第一个项目.因为我在网上看到的别人的博客讲解都并不是特别详细,仅仅是贴一下代码,书上内容照搬一下,对于当时刚学习py ...
- python基础教程(一)
之所以选择py交易有以下几点:1.python是胶水语言(跨平台),2.python无所不能(除了底层),3.python编写方便(notepad++等文本编辑器就能搞事情),4.渗透方面很多脚本都是 ...
- Python基础教程2上的一处打印缺陷导致的代码不完整#1
#1对代码的完善的 出现打印代码处缺陷截图: 图片上可以看到,定义的request根本没有定义它就有了.这个是未定义的,会报错的,这本书印刷问题,这个就是个坑,我也是才发现.花了点时间脱坑. 现在发完 ...
- python基础教程(第二版)
开始学习python,根据Python基础教程,把里面相关的基础章节写成对应的.py文件 下面是github上的链接 python基础第1章基础 python基础第2章序列和元组 python基础第3 ...
- python基础教程1:入门基础知识
写在系列前,一点感悟 没有梳理总结的知识毫无价值,只有系统地认真梳理了才能形成自己的知识框架,否则总是陷入断片儿似的学习-遗忘循环中. 学习方法真的比刻苦"傻学"重要多了,而最重要 ...
- Python基础教程-第3版(文字版) 超清文字-非扫描版 [免积分、免登录]
此处免费下载,无需账号,无需登录,无需积分.收集自互联网,侵权通知删除. 点击下载:Python基础教程-第3版 备用下载:Python基础教程-第3版
随机推荐
- 安装Matlab R2017a 出现 “弹出DVD1 并插入DVD2” 解决办法超简单
打开此电脑 找到驱动器虚拟镜像 右击选择弹出 点击另一个文件装载 点击确定即可
- python——面向对象(3),搬家具
"""date: 2020.2.9搬家具:将小于房子剩余面积的家具搬进房子1.定义家具类,房屋类""" class Furniture(): ...
- rabbitmq安装(ubuntu)
本文大量复制自:https://blog.csdn.net/qq_22638399/article/details/81704372 # 安装erlang apt-get install erlang ...
- .net core 中api 模型验证
AddControllers/AddMvc方法允许添加自定义ActionFilterAttribute进行过滤 文档中这么定义Filter: 可以创建自定义筛选器,用于处理横切关注点. 横切关注点的示 ...
- 【小白视频学Java for循环】3分钟学会Java的for循环,让看懂for循环嵌套再不是难事
目录 一.单个for循环介绍 二.for循环嵌套 听讲时能听懂的for循环为什么一做题就晕菜?一个for循环还勉强能看懂,但为什么一看到双重for循环脑子里就感觉脑子全是浆糊? 如果有上述问题那么就继 ...
- mysql基础(附具体操作代码)
# 注释内容 -- 注释内容 -- 创建数据库 king CREATE DATABASE king; -- 查看当前服务器下有哪些数据库 SHOW DATABASES; SHOW SCHEMAS; - ...
- linux - top与ps间的区别
背景 在linux系统中提供了2个查询系统负荷值的命令,一个是 ps -o THREAD 一个是 top ,这两个命令都能够查询当前进程的CPU使用率情况,但是所代表的含义确实不一样的,ps -o T ...
- scanf 与fgets
scanf: 1.以输入字符串也可以输入数字 . 2.遇到空格就停止.3.会有segmentation fault. fgets: 1.只能输入字符串.2.回车才会停止.3.不会有segmenntat ...
- java 上传文件到七牛云中
import com.alibaba.fastjson.JSONObject;import com.qiniu.common.QiniuException;import com.qiniu.commo ...
- LAMP搭建随笔
前言 这是我第一次在写博客,里面记录了我配置LAMP遇到的各种各样的细节,也许表述不够准确,希望大佬给于批评指正 环境 OS Ubuntu server 18.04.3 远程连接软件 cmder 文件 ...