python 基础 - 字符串

python 字符串

字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串。
创建字符串很简单,只要为变量分配一个值即可。例如:

var1 = 'hello'
var2 = "world"


Python 访问字符串中的值

Python 不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。
Python 访问子字符串,可以使用方括号来截取字符串,如下实例:

# 字符串的访问
s = "python"
print(s[0])
print(s[2])
# 范围,切片
print(s[0:6]) # 指定开始和结束
print(s[:])   # 有没有指定开头和结尾,默认就是从开始到结尾
print(s[2:])  # 从某一个到结尾
print(s[:2])  # 从开头到某一个

# 步长
print(s[0:6:2])  # 从开始到结尾,步长为2

输出结果:

p
t
python
python
thon
py
pto

Python字符串更新

你可以截取字符串的一部分并与其他字段拼接,如下实例:

var1 = 'Hello World!'
 
print ("已更新字符串 : ", var1[:6] + 'Python!')

输出结果:

已更新字符串 :  Hello Python!


Python转义字符

在需要在字符中使用特殊字符时,python用反斜杠()转义字符。如下表:

转义字符 描述
(在行尾时) 续行符
\ 反斜杠符号
' 单引号
" 双引号
\a 响铃
\b 退格(Backspace)
\e 转义
\000
\n 换行
\v 纵向制表符
\t 横向制表符
\r 回车
\f 换页
\oyy 八进制数,yy代表的字符,例如:\o12代表换行
\xyy 十六进制数,yy代表的字符,例如:\x0a代表换行
\other 其它的字符以普通格式输出


Python字符串运算符

下表实例变量a值为字符串 "Hello",b变量值为 "Python":

操作符 描述 实例
+ 字符串连接 a + b 输出结果: HelloPython
* 重复输出字符串 a*2 输出结果:HelloHello
[] 通过索引获取字符串中字符 a[1] 输出结果 e
[ : ] 截取字符串中的一部分 a[1:4] 输出结果 ell
in 成员运算符 - 如果字符串中包含给定的字符返回 True 'H' in a 输出结果 1
not in 成员运算符 - 如果字符串中不包含给定的字符返回 True 'M' not in a 输出结果 1
r/R 原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母 r(可以大小写)以外,与普通字符串有着几乎完全相同的语法。 print( r'\n' ) print( R'\n' )
% 格式字符串 请看Pyhton基本语法中输出格式化

实例:

a = "Hello"
b = "Python"
 
print("a + b 输出结果:", a + b)
print("a * 2 输出结果:", a * 2)
print("a[1] 输出结果:", a[1])
print("a[1:4] 输出结果:", a[1:4])
 
if( "H" in a) :
    print("H 在变量 a 中")
else :
    print("H 不在变量 a 中")
 
if( "M" not in a) :
    print("M 不在变量 a 中")
else :
    print("M 在变量 a 中")
 
print (r'\n')
print (R'\n')

输出结果:

a + b 输出结果: HelloPython
a * 2 输出结果: HelloHello
a[1] 输出结果: e
a[1:4] 输出结果: ell
H 在变量 a 中
M 不在变量 a 中
\n
\n

Python字符串常用操作

  1. 检查字符串的长度 len()
a = "python"
print(len(a))
#输出: 6
  1. 字符串的替换 replace()
s1 = "python"
#字符串本身不会改变,会返回一个新的字符串(结果)
s2=s1.replace("py","p")
print(s1)
print(s2)
print("aaaaa".replace("a","b",2))
print("www.baidu.cn".replace("cn","com"))

输出结果:

python
pthon
bbbaa
www.baidu.com
  1. 查找字符串
print("sdfsdf".index("f"))##返回结果为字符的索引
print("sadfasf".find("z"))##返回结果为字符的索引
#index 和 find的区别 就是 find查找失败会返回-1,不会影响程序的运行
#index 查找失败会报错并终止程序

输出结果:

2
-1
  1. 去除字符串两边指定的字符,默认去除空格
print("    python  ".strip())
print("aaa python a".strip("a"))

输出结果:

python
 python
  1. 去除字符串左边指定的字符,默认去除空格
print("    python ***".lstrip())

输出结果:

python ***
  1. 去除字符串右边指定的字符,默认去除空格
print("aaaa pythonaaaaa".rstrip("a"))

输出结果:

aaaa python
  1. 开头首字母大写
s = "python"
print(s.capitalize())
print(s.upper())
s = "PYTHON"
print(s.lower())
print(s.title())  #无论是否大小写,只会让首字符大写

输出结果:

Python
PYTHON
python
Python
  1. 判断是否全部大写,小写
s1 = "python"
s2 = "PYTHON"
print(s1.islower())
print(s2.isupper())

输出结果:

True
True
  1. 判断是否以某个字符开头和结尾
s= "python"
print(s.startswith("p"))
print(s.endswith("n"))

输出结果:

True
True
  1. 判断字符串至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回 False
print("111111aaaa#".isalnum())
#输出:False

判断当前字符串是否全是字母

print("abc".isalpha())
#输出:Ture

判断当前字符串是否全是数字

print("123234356".isdigit())
#输出:Ture
  1. 将字符串拆分成列表
print("www.baidu.com".split("."))
#输出:['www', 'baidu', 'com']
  1. 将序列中的字符串元素以指定字符连接成一个新的字符串
l1 = "www.baidu.com".split(".")
print(l1)
print(type(l1))
new_str = "-".join(l1)
print(new_str)

输出结果:

['www', 'baidu', 'com']
<class 'list'>
www-baidu-com


人生苦短,我用Python

Python 目录

对网络安全感兴趣的朋友可以关注我的连载 :

从0到1学习网络安全 【目录】

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

推荐阅读更多精彩内容

  • 1.字符串的介绍 字符串是程序中最常见的类型,很多地方都非常常见,例如:搜索引擎输入关键字就是字符串格式。 2.字...
    冰封心动阅读 451评论 0 0
  • Python字符串运算符 +字符串连接。 *重复输出字符串。 []获取字符串中的字符。 [:]截取字符串你的一部分...
    你旭哥阅读 251评论 0 0
  • 本节要介绍的是Python里面常用的几种数据结构。通常情况下,声明一个变量只保存一个值是远远不够的,我们需要将一组...
    小黑y99阅读 65,189评论 0 9
  • 拟了这个题目,我顿时感觉豪情了不少,就好像自己真的骑骏马背长剑行走在雄关漫道,其实,你往下看就知道画面与下文不符。...
    俏村姑阅读 417评论 2 2
  • 最近我们常常听到这样的话:我走过最长的路,是你的套路。原来生活不止眼前的苟且,还有远处的套路和专注。其实生活中处处...
    西柚粒粒阅读 496评论 0 10