Python字符串

「阅读本文大概需要6分钟」

今天修改内容改了好久,因为字体大小和每行内容过多的原因,导致出各种各样的Bug,为了呈现出最简单大方有质量的内容,前前后后改了好久,真心的感觉到原创写作的不易,所以在这里为每个坚持原创的公众号点波赞。

今天为大家分享的内容主要是关于字符串的内容,Python中的字符串很重要,尤其体现在爬虫上,因而具备了许多的方法,但因整个内容过多,所以分两天分享,也是为了大家能更好地消化吸收,接下来分享给大家。

# 字符串
s1 = "To be a better man"

# 成员运算符,判断s1是否包含'be'
print('be' in s1)   # True

# 身份运算符,判断a和b是否相同
a, b = 10, 21
print(a is b)       # False

# 注意:不能替换,因为字符串不可变
# s1[1] = 'v'
print(s1[1])        # 结果仍为:o

# 截取字符串,包含头不包含尾
s2 = s1[3:9]
print(s2)           # 结果:be a

# 格式化输出 %d %s %f 表示占位符
age, f = 6, 1.234
print("age = %d\ts1 = %s\tf = %.3f" % (age, s1, f))
# age = 6  s1 = To be a better man    f = 1.234

# 转义字符\将一些字符转换成有特殊含义的字符
print("a\nb")       # 将n转换成换行符
print("\\")         # 输出\本身需要转义
print("\'good\'")   # 'good'
print("'good'")     # 'good',和上面等效

# 字符串内有很多换行符,用\n写在一行不好阅读
print("To\nbe\na\nbetter\nman")
print('''
To
be
a
better
man
''')
print("a\tb")       # \t 制表符  a    b

# r 输出原字符串,打印路径
# D:\downloads\Software\hot
print(r"D:\downloads\Software\hot")

# 字符串首字母大写
print(s1.capitalize()) # To be a great man
# 字符串全部小写
print(s1.lower())      # to be a better man
# 字符串全部大写
print(s1.upper())      # TO BE A BETTER MAN
# 大写的转小写,小写的转大写
print(s1.swapcase())   # tO BE A BETTER MAN
# 每个单词的首字母大写
print(s1.title())      # To Be A Great Man

print(max(s1))  # 比较ASCII码值,返回最大值t
print(min(s1))  # 最小值为空格
print(len(s1))  # 字符串长度  18

# 字符串看做表达式进行计算并得到结果  9
print(eval("12-3"))

# 判断字符串是否已'To'开始   True
print(s1.startswith("To"))
# 判断字符串是否已'man'结束  True
print(s1.endswith("man"))

# 返回指定宽度的居中字符串,默认以空格填充
# ***********To be a better man***********
print(s1.center(40, "*"))

# 左对齐 输出:To be a better man************
print(s1.ljust(30, "*"))
# 右对齐 输出:            To be a better man
print(s1.rjust(30))
# 默认用0填充,右对齐
print(s1.zfill(30))
# 输出:000000000000To be a better man

# 在指定范围内a出现次数,包含头不包含末尾
print(s1.count("a", 0, 8))  # 1

# 检测a是否在s1中,可以指定范围
# 返回第一次出现的下标,没有返回-1
print(s1.find("a"))     # 6
print(s1.rfind("a"))    # 逆向查找a  16
# 与find()的区别为不存在报错  6
print(s1.index("a"))
print(s1.rindex("a"))   # 逆向索引a  16

# 去除空格
s2 = "*****To be a better man !*****"
# 截掉字符串左侧指定字符,默认为空格
# To be a better man !*****
print(s2.lstrip("*"))
# *****To be a better man !
print(s2.rstrip("*"))   # 右侧
# To be a better man !
print(s2.strip("*"))    # 去掉两侧空格

s3 = 'a'
# 打印出字符a对应的ASCII码值  97
print(ord(s3))
# 打印ASCII码值对应的字符  A
print(chr(65))

好了,今天的分享就到这了,希望大家认真地消化吸收一下,「记得每天进步一点点,这样未来的你一定会感谢现在拼命努力的自己」,送给大家,希望与君共勉!

原创不易,大家觉得有借鉴的地方点赞鼓励下,给Mark更多的动力为大家持续输出更多有质量的内容,同时也欢迎留言指正与批评。

原文发布于微信公众号 - Python梦工厂(AzMark950831)

原文发表时间:2018-05-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏非著名程序员

鸡蛋问题来了,是先有Class还是先有Object?

周末比较无聊,在浏览论坛的时候,偶然看到一个程序猿提问的问题,他时这样提问的:突然想到一个很菜的问题, 倒底先有Object还是先有Class?所有类都是Obj...

1876
来自专栏编程

浅谈如何定义和调用Python的函数

函数是python编程核心内容之一,笔者在本文中主要介绍下函数的概念和基础函数相关知识点。函数是什么?有什么作用、定义函数的方法及如何调用函数。 函数是可以实现...

1745
来自专栏阮一峰的网络日志

undefined与null的区别

大多数计算机语言,有且仅有一个表示"无"的值,比如,C语言的NULL,Java语言的null,Python语言的None,Ruby语言的nil。 有点奇怪的是,...

2654
来自专栏blackheart的专栏

[程序设计语言]-[核心概念]-03:控制流

0.概述 前面介绍了语言的演进以及一些基础概念后,从本篇开始进入了语言的核心问题中。这一篇讨论的是语言计算模型(大致可以用控制流来表述),大致如下7种: 顺序执...

19010
来自专栏大数据钻研

如何正确实现Java中的hashCode方法

你知道一个对象的唯一标志不能仅仅通过写一个漂亮的equals来实现 太棒了,不过现在你也必须实现hashCode方法。 让我们看看为什么和怎么做才是正确的。 相...

2659
来自专栏Fundebug

26个精选的JavaScript面试问题

为了保证可读性,本文采用意译而非直译。另外,本文版权归原作者所有,翻译仅用于学习。

934
来自专栏数据结构与算法

后缀数组详解

什么是后缀数组 后缀数组是处理字符串的有力工具 —罗穗骞 个人理解:后缀数组是让人蒙逼的有力工具! 就像上面那位大神所说的,后缀数组可以解决很多关于字符串...

3285
来自专栏desperate633

设计模式之工厂方法模式(FACTORY METHOD)问题模拟工厂方法模式分析依赖倒置原则小结

工厂方法模式定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。 我们依然接着简单工厂模式提出的披萨店问题继续探讨

814
来自专栏前端正义联盟

我来重新学习 javascript 的面向对象(part 3)

续上一集内容,有一些数据不需要共享的时候,但是又想实现共享数据处理,鱼与熊掌,都要兼得(老板就是这么霸气),那么经过工程师们的智慧交流,他们发现现实并非那么残酷...

511
来自专栏程序员叨叨叨

6.8 控制流语句(Control Flow Statement)

程序最小的独立单元是语句(statement),语句一般由分号结尾,缺省情况下,语句是顺序执行的,但是当涉及逻辑判断控制时,就要求有控制流程序语句。控制流程序语...

1153

扫码关注云+社区