think in python_《think in python》学习-8

字符串

字符串是一个序列,可以用方括号操作符来访问字符串中的单独字符

fruit = 'banana'

letter = fruit[1]

方括号中的表达式称为下标 下标从0 开始

任何表达式,包括变量和操作符 都可以做为下标

len

len是一个内置函数,可以返回字符串的个数

friut = 'banana'

print len(friut)

使用for循环进行遍历

index = 0

while index

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

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

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):调用一个方法的语句

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值