03 字符串处理

1.含义

  • 使用单引号或双引号括起来的字符集就是字符串。由一串字符构成(数字、字母、符号)
'123' 'abcd' '这是汉字'             #这些都是字符串
str1 = '尽诛宵小天策义\n'            #将一个字符串赋给变量
str2 = '长枪独守大唐魂\n'
  • 转义字符:当想要表示一些字符,但是这些字符是系统语法的一部分,含有特殊功能。
    则可以用转义字符达成效果
    这些都是转义字符:
\  --> '
\\ --> \
\n --> 换行
\t --> 制表符
\" --> "
  • 阻止转义:\\在转义的时候输出只有一个\,
    在引号前加r(R),可以阻止转义(使得\的功能失效),使得字符串输出变成 \\。
str1 = r"\\1\n"
print(str1)

输出

\\1\n
  • python中字符串的字符是Unicode编码。
    Unicode编码:使用16位对一个字符进行编码(ASCII是8位的)
    Unicode编码包含了ascll编码,可以表示世界上所有的语言和符号
       a.获取一个字符的Unicode编码
print(hex(ord('孙')),hex(ord('建')),hex(ord('康')))
print(ord('1'))

输出

0x5b59 0x5efa 0x5eb7
49
       b.将Unicode码转换成字符
print(chr(0x4EAE))      #查看unicode代码为0x4EAE对应的汉字

输出

字符串比较大小,从字符开始依次往后比较,直到遇到的字符不一样为止
比较字符大小的时候,实质比的是他们的编码大小,结果为布尔值

print('abc' > 'b')  #------>False
print('Zbc' > 'aa') #---->False

2.字符串中字符的获取

python的字符,实质是一个有序的字符序列。

  • 获取字符串的长度:(长度-->字符串中字符的个数)

注:转义字符的长度为1

#len()是python内置的获取一个序列长度的内置函数
count_num = len('abc\n123')
print(count_num)     #------>count_num == 7
  • 通过下标获取字符串中的某一个字符

字符串中每个字符都对应一个下标(索引),我们可以通过索引值去获取固定的字符.字符串:[索引值]

'abc' --->  a:0 , b:1 , c:2
str1 = 'abc'   
print(str1[1])    # 获取 b

print(str2[num-1])  #获取 p的2种方法
print(str2[-1])     #获取 p的2种方法

str2 = 'goog good study\nday day up'
num = len(str2)    #获取字符串str2的长度

获取字符的时候,索引值(下标)不能超过索引(下标)的范围,否则会报错index out of range

  • 获取字符串中的部分字符。字符串:[开始下标:结束下标]

获取从开始下标到结束下标的字符(----具体范围为[开始下标,结束下标)-----)
要求:开始和结束下标都有值,开始下标对应的字符,要在结束下标对应的字符前面。获取部分字符的方式多种多样,需要仔细研究实现的原理。

str3 = 'hello python'
获取python
print(str3[6:12])
print(str3[-6:12])
print(str3[6:])         #视情况可选择性的省略开始下标和结束下标

获取hello
print(str3[:5])         #视情况可选择性的省略开始下标和结束下标

获取整个字符串
print(str3[:])

字符串[开始下标:结束下标:步进]------>步进默认为1可省略,不为1的时候:依次间隔取
print(str3[::2])        #每2个字符取一次
print(str3[::-1])       #倒序

输出

python
python
python

hello

hello python

hlopto
nohtyp olleh

3.字符串运算

  • a. 字符串拼接 ,使用+实现,注意: + 两边数据类型必须要一样的
str1 = 'hello' + ' ' + 'python'      #---->str1 == 'hello python'
  • b. 让字符串重复
    字符串*整数,让字符串重复n次
str2 = 'abc' *3
print(str2)      #---->str2 == abcabcabc
  • c. in 和 not in
字符串1 in 字符串2:判断字符串1是否在字符串2中。结果是布尔值
result = 'aa' in 'abaac'
print(result)   #----->True

字符串1 not in 字符串2 :判断字符串1是否不在字符串2中。结果是布尔值
result = 'aa' not in 'abaac'
print(result)   #---->False
  • d. 格式字符串
    格式:'%s%s'%(值) -----> '占位符1占位符2'%(值1,值2)
str1 = 'abc%s123' % ('>>>')
print(str1)

%s ---->字符串占位符
%d---->整数占位符
%f---->浮点占位符
%c---->字符(长度是1的字符串)占位符

str2 = '%s%d%c%f' % ('sjk',100,'a',2.13)
print(str2)

使用%.nf控制小数点后的位数(默认是6位小数)
str2 = '这是一个2位小数:%.2f' % (2.13000)
print(str2)

%x和%X都是16进制的占位符(分大写小写)
num = 255
str4 = '%x, %X' % (num,num)
print(str4)
# 输出
ff, FF
  • e.格式化输出
    赋给变量名字,年龄最后格式化输出
name = 'sjk'
age = 18
print('我是%s,我今年%d岁' % (name,age))
  • f.去进制符号
print('格式化无符号八进制:%o,十六进制%x,十六进制大写:%X' % (0o76,0xff,0Xff))    #---->分别去掉各进制的前置符号

print('100的八进制数为:%o' % (100))    #结果--->100的八进制数为:144

4.字符串相关內建函数

在python中,有许多关于字符串的內建函数,这是系统预先封装好了的函数,可以直接调用,免去自己写算法的麻烦。

函数 作用
strip 切片函数
……未完待续 ……未完待续

5.条件语句

即if语句。条件语句:可以是任何有值的表达式,但是一般是布尔值。

执行过程:先判断条件语句是否为True,如果为True就执行if语句后:后面对应的一个缩进的所有的代码。
为False,就不执行:后面一个缩进中的代码块,直接执行后续的其他语句

结构
#if 条件语句:
    #条件语句结果为True执行的代码块

if True:
    print('代码1')
    print('代码2')
    print('代码3')

    #条件语句结果为False执行的代码块
else:
    print('代码5')
print('代码4')      #---->由于缩进的原因,此行的代码不属于if语句,是一个单独的语句

实战练习:
判断一个学生成绩是否合格(60分)先判断条件语句是否为True,如果为True就执行语句块1,输出“合格”。
否则执行语句块2,输出“不合格!太弱了”

score = 50
if score > 60:
    print('合格')
else:
    print('不合格!太弱了')
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,001评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,210评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,874评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,001评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,022评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,005评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,929评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,742评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,193评论 1 309
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,427评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,583评论 1 346
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,305评论 5 342
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,911评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,564评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,731评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,581评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,478评论 2 352

推荐阅读更多精彩内容

  • 前言 最先接触编程的知识是在大学里面,大学里面学了一些基础的知识,c语言,java语言,单片机的汇编语言等;大学毕...
    oceanfive阅读 3,067评论 0 7
  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,145评论 0 13
  • .bat脚本基本命令语法 目录 批处理的常见命令(未列举的命令还比较多,请查阅帮助信息) 1、REM 和 :: 2...
    庆庆庆庆庆阅读 8,090评论 1 19
  • 菜鸟 学习笔记 # /Users/xxxxx/Desktop/HelloPythion.py # -*- codi...
    weiwei_js阅读 828评论 0 1
  • 字符串和字符 甲串是一系列字符,如的"hello, world"或"albatross"。Swift字符串由Str...
    Fuuqiu阅读 1,034评论 0 0