栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

『Python 自学笔记』重新认识字符串

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

『Python 自学笔记』重新认识字符串

文章目录
  • 我的编程之路
  • 字符串是序列
  • len 长度
  • 用 for 循环遍历字符串
  • 字符串切片
  • 字符串不可修改
  • 搜索
  • 循环和计数
  • 字符串方法
  • 运算符 in
  • 字符串比较
  • 字符串术语列表

我的编程之路

从玩耍Excel表格到MySQL数据仓库,之后进入数据分析的天坑,然后再到大数据平台HIVE、Hbase。接着Django Web全栈开发。在走过这一圈之后,很多的内容学习都是碎片化的,在未来一段时间找几本书籍系统的学习一下,顺便做个笔记给后来的学生。

其实很多人不知道一个字符串是一个序列,意味着是对其他值的有序排列。

字符串是序列

可以通过列表的方式访问每一个字符,使用列表索引的方式获取对应的值。

>>> fruit = 'banana'
>>> letter = fruit[1]
a
len 长度
>>> fruit = 'banana'
>>> len(fruit) 
6
用 for 循环遍历字符串

用for、while循环遍历的方式可以操作字符串

index = 0
while index < len(fruit):
    letter = fruit[index]
    print(letter)
    index = index + 1
# 等价于
for i in range(len(fruit))
	print(fruit[i])

for letter in fruit:
    print(letter)
字符串切片

字符串的一段叫做切片,用于选择字符操作。

>>> s = 'Monty Python'
>>> s[0:5]
'Monty'
>>> s[6:12]
'Python'

[n:m]这种操作符,会返回字符串中从第『n』个到第『m』个的字符,规则是左开右闭(n包含,m不包含)。

其他的一些操作

>>> fruit = 'banana'
>>> fruit[:3]
'ban'
>>> fruit[3:]
'ana'
>>> fruit[3:3]
''
字符串不可修改

字符串与列表序列不同的是不可以进行修改。

>>> greeting = 'Hello, world!'
>>> greeting[0] = 'J'
TypeError: 'str' object does not support item assignment

可以使用切片的方式重新组合字符串。

>>> greeting = 'Hello, world!'
>>> new_greeting = 'J' + greeting[1:]
>>> new_greeting
'Jello, world!'
搜索

使用find函数,利用列表收集字母letter在单词word中出现的全部位置。

def find(word, letter): 
    index = 0
    result_list=[]
    while index < len(word):
        if word[index] == letter:
            result_list.append(index) 
        index = index + 1
    return result_list

result_list = find('banana', 'a')
[1, 3, 5]
循环和计数

统计某个字符在字符串中出现的字数。

word = 'banana'
count = 0
for letter in word:
    if letter == 'a':
        count = count + 1
    print(count)
字符串方法

比如可以使用大小写转换的方法直接转换。

>>> word = 'banana'
>>> new_word = word.upper()
>>> new_word 
'BANANA'
>>> new_word = word.lower()
>>> new_word 
'banana'

寻找下标的方法找到索引位置

>>> word = 'banana'
>>> index = word.find('a')
>>> index
1
>>> word.find('na')
2

还可以进行起始判断

>>> word = 'banana'
>>> word.startwith('ba')
True
运算符 in

对字符串内是否包含某些字符进行布尔判断。

>>> 'a' in 'banana'
True
>>> 'seed' in 'banana'
False

两个字符同时判断可以使用。

def in_both(word1, word2):
    for letter in word1:
        if letter in word2:
            print(letter)
>>> in_both('apples', 'oranges')
a e s
字符串比较

使用if判断比较字符串是否相等。

if word == 'banana':
    print('All right, bananas.')

可以使用比较运算符进行排序。

if word < 'banana':
    print('Your word, ' + word + ', comes before banana.')
elif word > 'banana':
    print('Your word, ' + word + ', comes after banana.')
else:
    print('All right, bananas.')
字符串术语列表
  • 对象(object):一个值能够指代的东西。目前为止,你可以把对象和值暂且作为一码事来理解。
  • 序列(sequence):一系列值的有序排列,每一个值都有一个唯一的整数序号。
  • 元素(item):一列数值序列当中的一个值。
  • 索引(index):一个整数值,用来指代一个序列中的特定一个元素,比如在字符串里面就指代一个字符。在 Python 里面索引从0开始计数。
  • 切片(slice):字符串的一部分,通过一个索引区间来取得。
  • 空字符串(empty string):没有字符的字符串,长度为0,用两个单引号表示。
  • 不可更改(immutable):一个序列中所有元素不能被改变的性质。
  • 遍历(traverse):在一个序列中依次对每一个元素进行某种相似运算的过程。
  • 搜索(search):一种遍历的模式,找到要找的内容的时候就停止。
  • 计数(counter):一种用来统计某种东西数量的变量,一般初始化为0,然后逐次递增。
  • 方法调用(invocation):调用方法的语句。
  • 可选参数(optional argument):一个函数或者方法中有一些参数是可选的,非必需的。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/529222.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号