"""
Glossary:
对象(object):变量可以引用的一种事物。就现在而言,可以把“对象”当作“值”来引用
序列(sequence):一个有序的值的集合,其中每个使用一个下标来定位。
项(item):序列中的一个值。
下标(index):用于在序列中选择元素的整数值。
切片(slice);字符串的一部分,通过一个下标来定位。
空字符串(empty string):没有字符,长度为0的字符串,使用一对引号来表示
不可变(immutable):序列的一种属性,表示它的元素是不可变的。
遍历(traverse):迭代访问序列中的每一个元素,并对每个元素进行操作。
计数器(counter):一种用来计数的变量,通常初始化为0,后来为递增。
方法调用(invocation):调用一个方法的语句。
可选参数(optional argument):函数或方法中,并不必须的参数。
""""""字符串是一个字符的序列(sequence)。可以使用方
括号操作符来访问字符串中单独的字符"""
fruit ="banana"
l = fruit[1]# l为"a""""len是一个内置函数,返回字符串中字符的个数"""
b =len("banana")# b为 6"""获得字符串中最后一个字母"""
b ="banana"
length =len(b)
last = b[length-1]# 亦可使用负数下标 last = b[-1]"""使用for循环进行遍历"""
index =0
fruit ="banana"while index <len(fruit):
letter = fruit[index]print(letter,end=" ")
index = index +1# b a n a n a"""写遍历逻辑的另一种方式是使用for循环"""for letter in"banana":print(letter,end=" ")"""示例"""
prefixes ='JKLMNOPQ'
suffix ='ack'for letter in prefixes:if letter in["O","Q"]:print(letter+'u'+suffix,end=" ")else:print(letter + suffix,end=" ")# 运行结果:Jack Kack Lack Mack Nack Ouack Pack Quack
s ="Monty Python"
a= s[0:5]# Monty
b = s[6:12]# Python"""字符串是是不可变的"""
greeting ='Hello world!'
greeting[0]="j"print(greeting)# 运行错误 TypeError: 'str' object does not support item assignment"""这个例子中的“对象”(object)是字符串,而“项”(item)是指你想要赋值的那个字符
这个错误产生的原因昌因为字符串是不可变的,也就是说,不能修改一个已经存在的字符串。你最多新建一个"""
greeting ="Hello world!"
new_greeting ="J"+ greeting[1:]# Jello world!"""搜索——从某种意义上说,下面的find函数是[]操作符的反面,它通过一个字符查找其出现在字符串中的下标。
如果没有找到字符,函数返回-1."""deffind(word,letter):
index =0while index <len(word):if word[index]== letter:return index
index = index +1return-1
find("dkfsdfdf","s")# 运行结果:3"""循环和计数"""
word ='banana'
count =0for letter in word:if letter =='a':
count +=1print(count)# 运行结果 3"""upper返回大写,lower返回小写,find寻找要查找的字母"""
word ='banaDSFnac'print(word.find('c'))
new_word = word.lower()# banadsfna
index = word.find("a")# 1
index = word.find("na")# 2 寻找子字符串
index = word.find("na",3)# 7 从下标3开始寻找
name ='bob'
index = name.find('b',1,2)# 从1开始,到2结束,不包括2,搜索失败 运行结果:-1"""操作符in,in是一个布尔符,操作于两个字符串上,如果第一个是第二个的子串,则返回True"""'ab'in'banana'# Falsedefin_both(word1,word2):for letter in word1:if letter in word2:print(letter,end=" ")
in_both("apples","oranges")# 运行结果:a e s"""检查字符串中是否包含小写字母"""defany_lowecase(s):
flag =Falsefor c in s:
flag = flag or c.islower()return flag
any_lowecase("SLDFJKLDSFDsd")#############'defany_lowercase(s):for c in s:ifnot c.islower():returnFalsereturnTrue
any_lowecase("KSDLKFJKLSDFDSFADFg")#3############defany_lowecase(s):for c in s:if"c".islower():return"True"else:return"False"
any_lowecase("FGK")##判断字符"c"是不是小写字母