字符串(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 基本数据类型--字符串实例详解的更多相关文章

  1. Python基本数据类型及实例详解

    Python 中的变量不需要声明.每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建. 在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对 ...

  2. Python操作redis字符串(String)详解 (三)

    # -*- coding: utf-8 -*- import redis #这个redis不能用,请根据自己的需要修改 r =redis.Redis(host=") 1.SET 命令用于设置 ...

  3. Python 文件读写操作实例详解

    Python提供了必要的函数和方法进行默认情况下的文件基本操作.你可以用file对象做大部分的文件操作 一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法.1.得到当前 ...

  4. Python回调函数用法实例详解

    本文实例讲述了Python回调函数用法.分享给大家供大家参考.具体分析如下: 一.百度百科上对回调函数的解释: 回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函 ...

  5. python爬虫框架scrapy实例详解

    生成项目scrapy提供一个工具来生成项目,生成的项目中预置了一些文件,用户需要在这些文件中添加自己的代码.打开命令行,执行:scrapy st... 生成项目 scrapy提供一个工具来生成项目,生 ...

  6. Python进程和线程实例详解

    前言 进程是什么? 进程就是一个程序在一个数据集上的一次动态执行过程.进程一般由程序.数据集.进程控制块三部分组成.我们编写的程序用来描述进程要完成哪些功能以及如何完成:数据集则是程序在执行过程中所需 ...

  7. Python数据类型及其方法详解

    Python数据类型及其方法详解 我们在学习编程语言的时候,都会遇到数据类型,这种看着很基础也不显眼的东西,却是很重要,本文介绍了python的数据类型,并就每种数据类型的方法作出了详细的描述,可供知 ...

  8. python中argparse模块用法实例详解

    python中argparse模块用法实例详解 这篇文章主要介绍了python中argparse模块用法,以实例形式较为详细的分析了argparse模块解析命令行参数的使用技巧,需要的朋友可以参考下 ...

  9. Python编程之列表操作实例详解【创建、使用、更新、删除】

    Python编程之列表操作实例详解[创建.使用.更新.删除] 这篇文章主要介绍了Python编程之列表操作,结合实例形式分析了Python列表的创建.使用.更新.删除等实现方法与相关操作技巧,需要的朋 ...

随机推荐

  1. 二叉树的Python实现

    树的定义与基本术语   树型结构是一类重要的非线性数据结构,其中以树和二叉树最为常用,是以分支关系定义的层次结构.树结构在客观世界中广泛存在,如人类社会的族谱和各种社会组织机构:在计算机领域中也有广泛 ...

  2. WPF里ItemsControl的分组实现 --listbox 实现分组

    我们在用到ItemsControl时,有时会用到分组,如ListBox,ListView,DataGrid.WPF的ItemsControl可以实现分组,是依托于GroupStyle,以ListBox ...

  3. 同一个dll 不同路径下注册 一个失败 一个成功

    一个路径下用regsvr32注册成功,一个注册失败,提示平台不兼容. 最后用depends查看依赖的dll,发现依赖的dll有问题,从注册成功的路径下复制一个过来,重新注册就成功了

  4. python中的协程

    目录 协程是啥 协程和线程差异 简单实现协程 greenlet 安装方式 gevent 安装 1. gevent的使用 2. gevent切换执行 3. 给程序打补丁 进程.线程.协程对比 请仔细理解 ...

  5. 2018-09-06 Java实现英汉词典API初版发布在Maven

    在打算批量代码汉化工具 · Issue #86 · program-in-chinese/overview时, 发现没有现成的Java库实现英汉查询功能. 于是开此项目. 源码库: program-i ...

  6. jQuery计算文本宽度和input标签根据输入字符动态自适应宽度的实现

    jQuery计算文本宽度的原理是利用html提供的<pre>标签,向dom中动态添加<pre>标签,标签里的内容就是要测试长度的文本,获取完长度之后再删除刚才添加的<pr ...

  7. 关于select 文字居向

    我们都知道select的文字默认居左,而如果你想改变它,用text-align是不起作用的,因为select没有这个样式 但是它有自己的样式属性 文字靠右对齐:direction: rtl; 而如果要 ...

  8. Linux内核线程的思考与总结

    1.内核线程,只是一个称呼,实际上就是一个进程,有自己独立的TCB,参与内核调度,也参与内核抢占. 这个进程的特别之处有两点,第一.该进程没有前台.第二.永远在内核态中运行. 2.创建内核线程有两种方 ...

  9. java中的数据类型,运算符,字符串,输入输出,控制流,大数值,数组; 《java核心技术卷i》 第三章:java基本程序结构;

    <java核心技术卷i> 第三章:java基本程序结构: 每次看书,去总结的时候,总会发现一些新的东西,这次对于java的数组有了更深的了解: java中的数据类型,运算符,字符串,输入输 ...

  10. git 入门教程之安装 git

    安装 git git 目前支持 Linux/Unix.Solaris.Mac和 Windows 平台上运行,根据自身环境选择安装. Linux 系统 linux 系统安装软件大致有两种途径,一种是利用 ...