python 字符串 - python基础入门(12)
在 python变量 文章中我们对python变量做了一个简单的了解,整数/浮点数/bool值相对来讲都比较简单,今天详细在讲解一下关于字符串的内容,字符串俗称:str。
在本文会大量的使用print 和format 函数,如果还有不太熟悉使用的盆友,请先预习:关于python开发中print 函数和format 函数详细解释
一.字符串运算符
介绍两个关于python字符串的运算符,”in” 和 “not in”,主要用于检测字符串中是否存在某个字符或者字符串,如果存在返回True,不存在返回False,直接上代码演示:
# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:何以解忧
@Blog(个人博客地址): shuopython.com
@WeChat Official Account(微信公众号):猿说python
@Github:www.github.com @File:string123.py
@Time:2019/9/23 20:45 @Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
""" # 检测单个字符
str1 = "hello world"
if "h" in str1:
print("{} 字符串包含 'h'".format(str1)) # 注意单引号和双引号的配合使用
else:
print("{} 字符串不包含 'h'".format(str1)) # 检测字符串
if "hello" in str1:
print("{} 字符串包含 'hello'".format(str1)) # 注意单引号和双引号的配合使用
else:
print("{} 字符串不包含 'hello'".format(str1)) # 使用 not in
if "hllo" not in str1:
print("{} 字符串不包含 'hllo'".format(str1)) # 注意单引号和双引号的配合使用
else:
print("{} 字符串包含 'hllo'".format(str1))
输出结果:
hello world 字符串包含 'h'
hello world 字符串包含 'hello'
hello world 字符串不包含 'hllo'
二.字符串构造
字符串可以直接拼接,同样也可以使用format 函数或者 % 符号构造,代码如下:
# 方法一:两个字符串直接相加拼接在一起
str1 = "hello"
str2 = "world"
str3 = str1 + str2
print("str3 = %s " % str3)
print("{} + {} = {}".format(str1,str2,str3)) print("**"*20)
# 方法二:使用format
str4 = "{} {} {}".format("猿说python","python教程","字符串")
print("str4 = %s " % str4)
str5 = "{2} {1} {0}".format("YOU","LOVE","I") # 注意使用下标索引值,默认重0开始
print("str5 = %s " % str5) print("**"*20)
# 方法三:使用 % 符号 ,% 使用方法与print类似
str6 = "%s%s%s" % ("不积跬步无以至千里",",不积小流无以成江海",
",程序人生的精彩需要坚持不懈地积累!")
print(str6)
输出结果:
str3 = helloworld
hello + world = helloworld
****************************************
str4 = 猿说python python教程 字符串
str5 = I LOVE YOU
****************************************
不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
三.字符串遍历
可以通过for循环或者while循环遍历字符串中的每一个字符,在下面代码中有一个内置函数len()函数,用于获取字符串长度,代码如下:
str1 = "hello world"
print("%s 字符串总长度:%d" % (str1,len(str1))) # len()获取字符串长度 #方法一:
for i in str1:
print(i,end="-") # print 函数默认换行,强制将换行符改为 '-',可以改为任意字符 print("\n") # "\n" 表示换行
print("*"*20) #方法二:
for i in range(0,len(str1)):
print(str1[i],end=' ') # 每个字符以空格隔开 print("\n") # "\n" 表示换行
print("*"*20) #方法三:
a = 0
while a < len(str1):
print("str[%d] = %s " % (a,str1[a]))
a += 1
print("程序结束,退出程序")
输出结果:
hello world 字符串总长度:11
h-e-l-l-o- -w-o-r-l-d- ********************
h e l l o w o r l d ********************
str[0] = h
str[1] = e
str[2] = l
str[3] = l
str[4] = o
str[5] =
str[6] = w
str[7] = o
str[8] = r
str[9] = l
str[10] = d
程序结束,退出程序
四.字符串截取
字符串中的每一个字符都有一个默认的索引值,从左到右默认重0开始,依次递增;从右往左默认重-1开始,依次递增;
str1 = "猿说python"
print(len(str1)) # 内置函数 len() 获取字符串长度
print(str1) # 打印字符串
print(str1[2]) # 获取字符串中的第二个字符
print(str1[0:2]) # 截取字符串索引值为0~1的字符,不包括索引值为2的字符
print(str1[2:5]) # 截取字符串索引值为2~4的字符,不包括索引值为5的字符
print(str1[2:-1]) # 截取字符串重索引值为2开始直到字符串结尾的前一个,-1的索引值表示最后一个
print(str1[2:len(str1)]) # 截取字符串索引值2~8,最后一个字符的索引值为7,所以刚刚好能截取到字符串末尾 # 截取在列表中索引值为0-4的数据,冒号前面不设置参数,默认重0开始,注意截取并不包括4
print(str1[:4])
# 截取在列表中索引值为2-末尾的数据,冒号后面不设置参数,默认截取到最后一位数据,注意截取包括最后一位
print(str1[2:]) print("程序结束,退出程序")
输出结果:
8
猿说python
p
猿说
pyt
pytho
python
猿说py
python
程序结束,退出程序
注意:在上面 print(str1[2:-1]) 改行代码中,-1 表示最后一位字符串索引,但是截取的范围并不包括字符串的最后一位。
五.字符串替换 – replace()方法
语法:
'''
字符串替换方法:替换字符串中指定的内容,并返回新的字符串
old:字符串中需要被替换的字符或者字符串(旧字符串,原本一直就在字符串)
new:替换之后的内容(新字符串,添加到字符串代替old的内容)
''' str.replace(old, new)
代码:
str1 = "hello world"
str1 = str1.replace("hello","猿说PYTHON")
print(str1) str1 = "hello world"
str1 = str1.replace("world","python 教程")
print(str1)
输出内容:
猿说PYTHON world
hello python 教程
六.字符串大小写
对字符串进行大小写转换处理
str = "www.shuopython.com"
print(str.upper()) # 把所有字符中的小写字母转换成大写字母
print(str.lower()) # 把所有字符中的大写字母转换成小写字母
print(str.capitalize()) # 把第一个字母转化为大写字母,其余小写
print(str.title()) # 把每个单词的第一个字母转化为大写,其余小写
输出结果:
WWW.SHUOPYTHON.COM
www.shuopython.com
Www.shuopython.com
Www.Shuopython.Com
关于字符串的函数还有很多,由于篇幅有限,后面的文章我们继续讲解更多关于python字符串相关函数。
猜你喜欢:

python 字符串 - python基础入门(12)的更多相关文章
- python学习之基础入门,安装,字符串,数据转换,三元运算符
python基础 我们要开始学习新的编程语言了,加油~~ python是“世界上最好的语言”,学习它当然是认为它是最好的所以我们才学(人生苦短我学python),python运用于不同的领域,采集分析 ...
- Python学习之路【第一篇】-Python简介和基础入门
1.Python简介 1.1 Python是什么 相信混迹IT界的很多朋友都知道,Python是近年来最火的一个热点,没有之一.从性质上来讲它和我们熟知的C.java.php等没有什么本质的区别,也是 ...
- VS2013中Python学习笔记[基础入门]
前言 在上一节中简单的介绍了在VS2013中如何进行开发Hello World,在VS2013中进行搭建了环境http://www.cnblogs.com/aehyok/p/3986168.html. ...
- Python简介和基础入门
1.1 Python是什么 相信混迹IT界的很多朋友都知道,Python是近年来最火的一个热点,没有之一.从性质上来讲它和我们熟知的C.java.php等没有什么本质的区别,也是一种开发语言,而且已经 ...
- Python字符串(Python学习笔记02)
字符串 Python 3 中的字符串可以使用双引号或单引号标示,如果字符串出现引号,则可以使用 \ 来去除引号标示字符串的作用. 几种字符串的表示方法: str1 = "hello" ...
- Python爬虫零基础入门(系列)
一.前言上一篇演示了如何使用requests模块向网站发送http请求,获取到网页的HTML数据.这篇来演示如何使用BeautifulSoup模块来从HTML文本中提取我们想要的数据. update ...
- python pandas数据分析基础入门2——(数据格式转换、排序、统计、数据透视表)
//2019.07.18pyhton中pandas数据分析学习——第二部分2.1 数据格式转换1.查看与转换表格某一列的数据格式:(1)查看数据类型:某一列的数据格式:df["列属性名称&q ...
- python菜鸟教程基础入门
一. 可以使用'\'来连接多行.但是有括号的则不需要 a=b+\ c+\ d a1=['a', 'b'] 引号可以是单,双,三引号均可 二. 1. python有5个标准类型:数字,字符串,列表,元组 ...
- PYTHON开发--面向对象基础入门
面向对象 一:面向对象初级 1.思考:首先在python中,以前我们以前用到的几乎都是函数式编程,但是有时候函数式编程其中代码重复利用率太高,我们往往会把这些重复代码写进一个函数日后去调用,所以呢,今 ...
随机推荐
- Codeforces 1153F Serval and Bonus Problem [积分,期望]
Codeforces 思路 去他的DP,暴力积分多好-- 首先发现\(l\)没有用,所以不管它. 然后考虑期望的线性性,可以知道答案就是 \[ \int_0^1 \left[ \sum_{i=k}^n ...
- js的新生代垃圾回收
推荐阅读:https://www.cnblogs.com/chengxs/p/10919311.html 在进行老生代的标记清除法回收以前,还会有一个新生代的垃圾回收算法执行. 新生代和老生代 所谓新 ...
- MySQL 聚集拼接
GROUP_CONCAT()函数 示例: 假设现在有这样一个表结构: 其中`student`.`school_id`是逻辑外键 想要检索出所有学校,其中学校下的学生名需要拼接在一起,作为结果集的字段 ...
- UOJ#467. 【ZJOI2019】线段树 线段树,概率期望
原文链接www.cnblogs.com/zhouzhendong/p/ZJOI2019Day1T2.html 前言 在LOJ交了一下我的代码,发现它比选手机快将近 4 倍. 题解 对于线段树上每一个节 ...
- vue中点击复制粘贴功能 clipboard 移动端
页面是由 v-for 循环渲染出来,要给每一个结构里面的复制按钮加一个复制功能 npm install clipboard --save 安装,如果安装处问题,多安装几次,我自己也安装了好几次 ...
- ubuntu16.04安装matlab_R2018a/R2017a
ubuntu16.04安装matlab_R2018a/R2017a 1. 文件准备 我把Matlab2018a安装镜像及破解文件放在了/home/haes/Downloads/matlab下 2.挂载 ...
- MangoDB在C#中的使用
http://blog.sina.com.cn/s/blog_927f3c2401011937.html 图形工具 http://api.mongodb.org/csharp/current/html ...
- arcgis python 刷新
arcpy.RefreshActiveView() 刷新地图和布局窗口 arcpy.RefreshTOC() 刷新内容列表 arcpy.RefreshCatalog(r"F:\tknew10 ...
- windows2012域控
此次主要是使用服务器搭建域控制器,我主要是用于使用office web apps 和office online server搭建在线Word预览编辑! 一.准备工作 首先准备1台比较干净的服务器,推荐 ...
- Oralce JDBC jar包下载
下载地址:https://pan.baidu.com/s/1sU7gu4biigEAw-3Bu7yIOA 下载包中包括以下文件: ojdbc5.jarojdbc5dms.jarojdbc5dms_g. ...