python 基本数据类型--字符串实例详解
字符串(str) :把字符连成串. 在python中⽤', ", ''', """引起来的内容被称为字符串 。
注意:python中没有单一字符说法,统一称叫字符串。
一、切片和索引
1、索引:索引就是下标,从0开始
- str= "我是字符串"
- print("str[0]=",str[0])
- print("str[1]=",str[1])
- print("str[2]=",str[2])
- print("str[3]=",str[3])
- print("str[4]=",str[4])
- 结果:
- str[0]= 我
- str[1]= 是
- str[2]= 字
- str[3]= 符
- str[4]= 串
2、切片:可以使用下标来截取部分字符串的内容
语法:str[start:end]
规则:顾头不顾尾,从start开始截取,截取到end位置,但是不包括end。
- s2 = "python最⽜B"
- print(s2[0:3]) # 从0获取到3. 不包含3. 结果: pyt
- print(s2[6:8]) # 结果 最⽜
- print(s2[6:9]) # 最⽜B
- print(s2[6:10]) # 如果右边已经过了最⼤值. 相当于获取到最后 ;最⽜B
- print(s2[4:]) # 如果想获取到最后. 那么最后⼀个值可以不给.
- print(s2[-1:-5]) # 从-1 获取到 -5 这样是获取不到任何结果的. 从-1向右数. 你怎么数也数不到-5
- print(s2[-5:-1]) # ⽜b, 取到数据了. 但是. 顾头不顾腚. 怎么取最后⼀个呢?
- print(s2[-5:]) # 什么都不写就是最后了
- print(s2[:-1]) # 这个是取到倒数第⼀个
- print(s2[:]) #原样全部输出
间隔截取:
语法:str[start:end:step] #step表示间隔多少取一个
- print(s2[1:5:2]) # 从第⼀个开始取, 取到第5个,每2个取1个, 结果: yh, 分析: 1:5=>ytho => yh
- print(s2[:5:2]) # 从头开始到第五个. 每两个取⼀个
- print(s2[4::2]) # 从4开始取到最后. 每两个取⼀个
- print(s2[-5::2]) # 从-5取到最后.每两个取⼀个
- print(s2[-1:-5]) # -1:-5什么都没有. 因为是从左往右获取的.
- print(s2[-1:-5:-1]) # 步⻓是-1. 这时就从右往左取值了
- print(s2[-5::-3]) # 从倒数第5个开始. 到最开始. 每3个取⼀个, 结果oy
步⻓: 如果是整数, 则从左往右取. 如果是负数. 则从右往左取. 默认是1
切片语法:
str[start:end:step]
start: 起始位置
end: 结束位置
step:步⻓
二、字符串其他操作
切记:字符串是不可变得对象,所以任何操作都不能对原字符串进行修改,如果需要更改字符串必须给变量重新赋值。
准备字符串:s1="python" ; s2="pycharm"
1、s1.capitalize( ) 首字母大写
- print(s1.capitalize()) #Python
2、s1.upper( ) 全部大写
- print(s1.upper()) #PYTHON
3、s1.lower( ) 全部小写
- print(s1.upper().lower()) #python
4、s.title( ) 每个单词首字母大写
- s="money is the bastard"
- print(s.title()) #Money Is The Bastard
5、s.center( width,fillchar=None) 字符串居中,总长度为width,其余位置用符号fillchar填充
- s="join_l"
- print(s.center(16,"*")) #*****join_l*****
6、s.strip() 去掉左右两端的空格
- s = " we are Frirends "
- ret = s.strip() # 去掉左右两端的空格
- print(ret)
7、ret = s.lstrip() 去掉左边空格
8、ret = s.rstrip( ) 去掉右边空格
9、ret = s.replace(s1,s2) 把字符串中的s1替换为s2
- s="Are you good men"
- s=s.replace("men","women")
- print(s) #Are you good women
注意:字符串不可变,必须重新赋值回去,才能实现真正的替换
10、s.split(sep) 以sep切割字符串,返回一个列表
- s="Are-you-good-men"
- print(s.split("-")) #['Are', 'you', 'good', 'men']
三、字符串的格式化输出
- # 格式化输出
- s12 = "我叫%s, 今年%d岁了, 我喜欢%s" % ('sylar', 18, '周杰伦') # 之前的写法
- print(s12)
- s12 = "我叫{}, 今年{}岁了, 我喜欢{}".format("周杰伦", 28, "周润发") # 按位置格式化
- print(s12)
- s12 = "我叫{0}, 今年{2}岁了, 我喜欢{1}".format("周杰伦", "周润发", 28) # 指定位置
- print(s12)
- s12 = "我叫{name}, 今年{age}岁了, 我喜欢{singer}".format(name="周杰伦", singer="周润
- 发", age=28) # 指定关键字
- print(s12)
四、查找
1、s.tartswith(“字符串”) 判断是否以某字符串开头
- s="you are lucky dog"
- print(s.startswith("you")) #True
- print(s.startswith("are")) #True
2、s.endswith(“字符串”) 判断是否以某字符串结尾
3、s.count( "字符串") 查询字符串出现的次数
- s="I Love a girl,she is supergirl"
- print(s.count("i"))
4、s.find("字符串“) 寻找字符串出现的第一个位置
- s="I Love a girl,she is supergirl"
- print(s.find("i")) #10
5、s.index("字符串") 查询字符串,并返回第一个的索引
- ret = s.index("girl") # 求索引位置. 注意. 如果找不到索引. 程序会报错
- print(ret)
五、条件判断
1、s.isalnum() 是否字⺟和数字组成
2、s.isalpha() 是否由字⺟组成
3、s.isdigit() 是否由数字组成, 不包括⼩数点
- # 练习. ⽤算法判断某⼀个字符串是否是⼩数
- s17 = "-123.12"
- s17 = s17.replace("-", "") # 替换掉负号
- if s17.isdigit():
- print("是整数")
- else:
- if s17.count(".") == 1 and not s17.startswith(".") and not s17.endswith("."):
- print("是⼩数")
- else:
- print("不是⼩数")
六、计算字符串的长度
s.len("字符串")
- s="I Love a girl,she is supergirl"
- print(len(s)) #
7、可迭代
可以用for循环拿去每一个元素。
- s= "join"
- for i in s:
- print(i)
- 结果:
- j
- o
- i
- n
python 基本数据类型--字符串实例详解的更多相关文章
- Python基本数据类型及实例详解
Python 中的变量不需要声明.每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建. 在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对 ...
- Python操作redis字符串(String)详解 (三)
# -*- coding: utf-8 -*- import redis #这个redis不能用,请根据自己的需要修改 r =redis.Redis(host=") 1.SET 命令用于设置 ...
- Python 文件读写操作实例详解
Python提供了必要的函数和方法进行默认情况下的文件基本操作.你可以用file对象做大部分的文件操作 一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法.1.得到当前 ...
- Python回调函数用法实例详解
本文实例讲述了Python回调函数用法.分享给大家供大家参考.具体分析如下: 一.百度百科上对回调函数的解释: 回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函 ...
- python爬虫框架scrapy实例详解
生成项目scrapy提供一个工具来生成项目,生成的项目中预置了一些文件,用户需要在这些文件中添加自己的代码.打开命令行,执行:scrapy st... 生成项目 scrapy提供一个工具来生成项目,生 ...
- Python进程和线程实例详解
前言 进程是什么? 进程就是一个程序在一个数据集上的一次动态执行过程.进程一般由程序.数据集.进程控制块三部分组成.我们编写的程序用来描述进程要完成哪些功能以及如何完成:数据集则是程序在执行过程中所需 ...
- Python数据类型及其方法详解
Python数据类型及其方法详解 我们在学习编程语言的时候,都会遇到数据类型,这种看着很基础也不显眼的东西,却是很重要,本文介绍了python的数据类型,并就每种数据类型的方法作出了详细的描述,可供知 ...
- python中argparse模块用法实例详解
python中argparse模块用法实例详解 这篇文章主要介绍了python中argparse模块用法,以实例形式较为详细的分析了argparse模块解析命令行参数的使用技巧,需要的朋友可以参考下 ...
- Python编程之列表操作实例详解【创建、使用、更新、删除】
Python编程之列表操作实例详解[创建.使用.更新.删除] 这篇文章主要介绍了Python编程之列表操作,结合实例形式分析了Python列表的创建.使用.更新.删除等实现方法与相关操作技巧,需要的朋 ...
随机推荐
- npm install -g @angular/cli@latest 失败
一开始的ERROR信息是 error "@angular/compiler-cli" package was not properly installed 尝试方案二时又出现了以下 ...
- [转]Node.js中koa使用redis数据库
本文转自:https://blog.csdn.net/offbye/article/details/52452322 Redis是一个常用的Nosql数据库,一般用来代替Memcached做缓存服务, ...
- 记录.net使用ueditor富文本编辑器
UEditor是什么 最近在在项目的时候使用到了百度的富文本编辑器.官网有详细的操作流程文档.这里我只是记录项目中常用到的一些事件.以便日后可以方便查询. UEditor是百度的一个javascrip ...
- .NET里面 abstract class和Interface有什么区别以及用法的展现?
前言 很多新人对这个问题已经看到的厌倦或者是恶心了,有可能是因为比较难理解或者是未理解的情况下对它们的认知不够所以产生的想法是差不多,不用抽奖类和接口我一样能实现我想要的功能. 这句话确实不假,但是实 ...
- [linux] tcpdump抓包案例
1.常见参数 tcpdump -i eth0 -nn -s0 -v port 80 -i 选择监控的网卡 -nn 不解析主机名和端口号,捕获大量数据,名称解析会降低解析速度 -s0 捕获长度无限制 - ...
- C#设计模式之十四命令模式(Command Pattern)【行为型】
一.引言 今天我们开始讲“行为型”设计模式的第二个模式,该模式是[命令模式],又称为行动(Action)模式或交易(Transaction)模式,英文名称是:Command Pattern.还是老套路 ...
- 初识 Java-监听器
使用Listener类当java web应用程序在web容器中运行时,在java web应用程序内部会不断发生各种事件,例如web应用的启动,暂停,销毁等.以及web应用中session开始和结束 ...
- github 遇到的问题
目录 1.遇到的问题关联远程仓库,操作顺序如下:2.解决方法3.git merge 与 git rebase4.git pull 与 git pull --rebase5.更多参考 博客逐步迁移至 极 ...
- es6 语法 (类与对象)
{ // 基本定义和生成实例 class Parent{ constructor(name='mukewang'){ this.name=name; } } let v_parent1=new Par ...
- nginx 转将http跳转到https
#websoceket 使用map map $http_upgrade $connection_upgrade { default upgrade; '' close; } upstream abc. ...