《think in python》学习-8
字符串
字符串是一个序列,可以用方括号操作符来访问字符串中的单独字符
fruit = 'banana'
letter = fruit[1]
方括号中的表达式称为下标 下标从0 开始
任何表达式,包括变量和操作符 都可以做为下标
len
len是一个内置函数,可以返回字符串的个数
friut = 'banana'
print len(friut)
使用for循环进行遍历
index = 0
while index<len(fruit):
letter = fruit[index]
print index
index = index+1
字符串切片
字符串中的一段称为一个切片
s = "hello world"
print s[0:5]
hello
操作符
[n:m]返回从字符串n个字符起到第M个字符部分,包含n但是不包含m
字符串是不可变的
修改字符串 会报错,本身不可修改。你可以新建一个字符
fruit = 'hello'
furit[0]='j' # 报错
letter = fruit[0] #√
搜索
通过便利操作,可以在一个指定的字符窜中找到我们想找的字符
def find(word,letter):
index=0
while index<len(word):
if word[index]==letter:
return index
index= index+1
return -1
循环和计数
通过循环,我们可以用变量每次累加的方式 统计次数
def count():
word = 'banana'
count =0
for letter in word:
if letter == 'a':
count = count+1
print count
字符串方法
word = 'banana'
print word.upper() #大写
print word.find('a') #查找
print word.find("a",3) #从下标3开始查找
print word.find("a",3,5) #从下标3开始查找 5结束
操作符in
in 是一个布尔操作符,操作于2个字符串上
'a' in 'banana'
True
#例如
def in_both(word1,word2):
for letter in word1:
if letter in word2:
print letter
字符串比较
if word == 'banana'
print True
字符串 比较> 或者< 时,会按照字母顺序比较,大写字母比小写字母要大。
练习
- 编写一个函数接受字符串为形参,倒序显示他的字母 每个字母单独一行
def desort(c):
index = len(c)-1
while index>=0:
print c[index]
index = index-1
- 给定
fruit是一个字符串,fruit[:]表示什么
fruit = 'hello'
print fruit[:] #字符本身
- 改良
find函数,让它接受第3个形参,表示word从哪个下标开始搜索
#修改版
def find(word,letter,start):
index =start
while index<len(word):
if word[index]==letter:
return index
index = index +1
return -1
- 改良
count函数 ,泛化它以接收字符串和要计数的字母作为参赛
def count(word,find):
count = 0
for letter in word:
if letter==find:
count = count+1
return count
- ROT13是个比较弱的加密方式,对单词进行位移来实现加密。编写一个
rotate_word接受字符串为参数,返回一个新的字符串 并加密。
def rotate_word(s,n):
rotate_s = ''
for i in s:
rotate_s = rotate_s+ chr(ord(i)+2)
return rotate_s
术语表():
- 对象(object):变量可以引用的一种事物,就现在拉说,你可以八对象当做值来使用
- 序列(sequence):一个有序的集合
- 项(item):序列中的一个值
- 下标(index):用于在序列中选择元素的整数值。
- 切片(slice):字符串的一部分 通过一个下标范围来定位
- 空字符串(empty string):没有字符 长度为0的字符串
- 不可变(immutable):序列的一种属性,表示它的元素是不可变的
- 遍历(traverse):迭代访问序列中的每一个元素,并对每个元素进行相似操作
- 搜索(search):一种遍历模式,当找到它想要的元素时停止
- 计数器(counter):一种用来计数的变量,通常初始化为0 后来会递增
- 方法(method):和对象关联的一个函数,使用句点表示法来调用
- 方法调用(invocation):调用一个方法的语句
《think in python》学习-8的更多相关文章
- Python学习--04条件控制与循环结构
Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...
- Python学习--01入门
Python学习--01入门 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.和PHP一样,它是后端开发语言. 如果有C语言.PHP语言.JAVA语言等其中一种语言的基础,学习Py ...
- Python 学习小结
python 学习小结 python 简明教程 1.python 文件 #!/etc/bin/python #coding=utf-8 2.main()函数 if __name__ == '__mai ...
- Python学习路径及练手项目合集
Python学习路径及练手项目合集 https://zhuanlan.zhihu.com/p/23561159
- python学习笔记-python程序运行
小白初学python,写下自己的一些想法.大神请忽略. 安装python编辑器,并配置环境(见http://www.cnblogs.com/lynn-li/p/5885001.html中 python ...
- Python学习记录day6
title: Python学习记录day6 tags: python author: Chinge Yang date: 2016-12-03 --- Python学习记录day6 @(学习)[pyt ...
- Python学习记录day5
title: Python学习记录day5 tags: python author: Chinge Yang date: 2016-11-26 --- 1.多层装饰器 多层装饰器的原理是,装饰器装饰函 ...
- [Python] 学习资料汇总
Python是一种面向对象的解释性的计算机程序设计语言,也是一种功能强大且完善的通用型语言,已经有十多年的发展历史,成熟且稳定.Python 具有脚本语言中最丰富和强大的类库,足以支持绝大多数日常应用 ...
- Python学习之路【目录】
本系列博文包含 Python基础.前端开发.Web框架.缓存以及队列等,希望可以给正在学习编程的童鞋提供一点帮助!!! 目录: Python学习[第一篇]python简介 Python学习[第二篇]p ...
- python学习笔记系列----(八)python常用的标准库
终于学到了python手册的最后一部分:常用标准库.这部分内容主要就是介绍了一些基础的常用的基础库,可以大概了解下,在以后真正使用的时候也能想起来再拿出来用. 8.1 操作系统接口模块:OS OS模块 ...
随机推荐
- 擅长排列的小明 II(找规律)
擅长排列的小明 II 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 小明十分聪明,而且十分擅长排列计算. 有一天小明心血来潮想考考你,他给了你一个正整数n,序列1,2, ...
- Java程序猿的JavaScript学习笔记(汇总文件夹)
最终完结了,历时半个月. 内容包含: JavaScript面向对象特性分析,JavaScript高手必经之路. jQuery源代码级解析. jQuery EasyUI源代码级解析. Java程序猿的J ...
- android之ListPreference的用法_PreferenceActivity用法
首先,我们明确,preference是和数据存储相关的. 其次,它能帮助我们方便的进行数据存储!为什么这个地方一定要强调下方便的这个词呢?原因是,我们可以根本就不使用,我们有另外的N种办 ...
- 谋哥:研究App排行榜浮出的神器
昨天发的<App排行榜的秘密>到头条网,阅读量到2万,踩的比顶的多几倍.原因是由于我使用360市场的数据来分析,而且这帮喷子根本不看你分析数据背后的意义,反正看到自己不喜欢的比方" ...
- Zero Downtime Upgrade of Oracle 10g to Oracle 11g Using GoldenGate — 2
Prepare 10g Database for OGG Create GGS and GGS_MON Database Users SQL> create tablespace ggs_tbs ...
- WPF实现窗体最小化后小图标在右边任务栏下
一 基本功能 1. 这里是用 NotifyIcon 控件来实现,但 WPF 下没有 NotifyIcon 控件,怎么办,用 WinForm 下的呗. 先引用 .NET 自带的两个程序集 Syste ...
- React-Native之ViewPagerAndroid的使用
刚接触React-Native不久,我就被深深折服了. 前几天做项目用到了ViewPager做广告页,在研究了一番官方文档之后,终于也是大体做出来了,今天就分享给大家吧. 其实,大家如果使用过Andr ...
- C# Winform中执行post操作并获取返回的XML类型的数据
/// <summary> /// 返回指定日期的订单数据 /// </summary> /// <param name="StartDate"> ...
- Chrome和Firefox浏览器调试对比
最近的项目中使用Extjs5, 其中主要的一个特点就是js文件的动态加载,之前使用Firefox浏览器对js文件进行调试,打断点时,只对当次调试有效,刷新之后,由于动态加载的js文件(文件名后面加了一 ...
- 【笔记】JS中的数组方法
push()方法:可以向数组的末尾添加一个或者多个元素,并且返回新的长度 pop()方法:可以删除数组最后一个元素,并且返回被删除的元素,注意:如果数组是空的,该方法不进行任何操作,返回undef ...