python字符串是什么_python字符串详解

字符串详解

在python中引号引起来的就是字符串

字符串是用来存储少量数据

索引

索引(下标) 通过索引可以精确的定位到某个元素

name = "meat"

meat 每一个字母叫做一个元素

# 0123 从左向右代表每一个字母

#-4-3-2-1 从右向左每一个字母

print(name[-1]) 输出 t

name = "今天是个好日子"

0 1 2 3 4 5 6

-7-6-5-4-3-2-1

a = name[0]

b = name[1]

print(a+b) **输出今天**

切片

name = "todayisgood"

print(name[0:2]) 输出:to

顾头不顾尾 name[起始位置:终止位置]

print(name[:])

某个位置不指定的时候默认取最后或最前

print(name[:3]) 输出:tod

print(name[2:5]) 输出:day

print(name[-2:-5])

print(name[-2:-5:-1])

# **[起始位置:终止位置:步长] 步长默认为1**

name = "大黑哥吃大煎饼"

print(name[1:5])

输出 黑哥吃大

print(name[-2:-6:-1])

输出 煎大吃哥

print(name[-6:6])

输出 黑哥吃大煎

a = name[0]

输出 大

b = name[2]

输出 哥

c = name[4]

输出 大

d = name[6]

print(a+b+c+d)

print(name[::2])

print(name[100:105])

切片的时候起始位置和终止位置都超出的时候不会进行报错

print(name[100])

索引的时候索引值超出范围的时候会报错

s = 'Python最NB'

获取s字符串中前3个内容

s[0:3]

获取s字符串中第3个内容

s[2]

获取s字符串中后3个内容

s[-3:]

获取s字符串中第3个到第8个

s[2:8]

获取s字符串中第2个到最后一个

s[1:]

获取s字符串中第1,3,5个内容

s[0:6:2]

获取s字符串中第2,4,6个内容

s[1:7:2]

获取s字符串中所有内容

s[:]

获取s字符串中第4个到最后一个,每2个取一个

s[3::2]

获取s字符串中倒数第5个到最开始,每3个取一个

s[-5::-3]

字符串的方法:

大小写

s = "alex"

s1 = s.upper() #全部大写

print(s1)

s = "ALEX"

s1 = s.lower() # 全部小写

print(s1)

应用场景

s = input("验证码(AbC5)")

if s.upper() == "AbC5".upper():

print("验证码正确")

else:

print("验证码错误!")

以什么开头

s = "ALEX"

s1 = s.startswith("E",2,6)

print(s1)

以什么结尾

s = "ALEX"

s1 = s.endswith("X",3,4)

print(s1)

统计

s = "alexdxjbx"

s1 = s.count("x")

print(s1)

输出 3

脱: 字符串头尾两端的空格和换行符以及制表符

n = input(">>>")

if n.strip() == "alex":

print("1")

else:

print("2")

s = "alexdsba"

s1 = s.strip("a") # 可以指定内容取脱

print(s1)

分割:以空格和换行符以及制表符进行分割

s = "aelxlaaa"

s1 = s.split("l",maxsplit=1) # 可以通过指定方式进行切割

print(s1)

替换:

s = "大黑哥吃肉夹馍,肉夹馍"

s1 = s.replace("肉夹馍","大煎饼")

s1 = s.replace("肉夹馍","大煎饼",1) # 指定替换的次数

print(s1)

首字母大写

name = "alex"

name1 = name.capitalize()

print(name1)

输出 Alex

每个单词首字母大写

name = "jerry home"

print(name.title())

输出 Jerry Home

-##### 大小写反转

name = "JerryHome"

print(name.swapcase())

输出 jERRYhOME

居中---填充

name = "jerry"

print(name.center(30,"*"))

输出 ************jerry*************

查找 从左向右 只查找一个

name = "jerry"

print(name.find("r"))

输出 2 (代表第一个"r"的下标)

print(name.find("t"))

输出 -1 (find 查找不存在的返回 -1)

print(name.index("t"))

index 查找不存在的就报错

拼接

name = "jerry"

print("_".join(name)) ***重点

输出 "j_e_r_r_y"

name = "jerry"

name1 = "*".join(name)

print(name1)

输出 j*e*r*r*y

name = "jerry"

print("&".join(name))

输出 :j&e&r&r&y

格式化

1.%s

2.f

3.name.format()

name = "jerry{},{},{}"

print(name.format(1,2,3)) #按照位置顺序进行填充

输出 jerry1,2,3

name = "jerry{2},{0},{1}"

print(name.format("a","b","c")) #按照索引值进行填充

输出 jerryc,a,b

name = "jerry{a},{b},{c}"

print(name.format(a=1,c=2,b=3)) #按照关键字进行填充

输出 jerry1,3,2

字符串 + * 会开辟新的空间

name = "jerry"

name1 = "home"

print(id(name))

print(id(name1))

print(id(name + name1))

输出 2609785706008 #内存地址都不同

2609817396424

2609818262256

is 系列:

s = "12.3"

print(s.isalnum()) # 判断是不是字母,数字,中文

print(s.isalpha()) # 判断是不是字母,中文

print(s.isdigit()) # 判断字符串是不是全都是阿拉伯数字

print(s.isdecimal()) # 判断是否是十进制

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/457995.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

最小编辑代价

最小编辑代价问题: 对于两个字符串A和B,我们需要进行插入、删除和修改操作将A串变为B串,定义c0,c1,c2分别为三种操作的代价,请设计一个高效算法,求出将A串变为B串所需要的最少代价。 给定两个字…

Android中的数据库

2019独角兽企业重金招聘Python工程师标准>>> 1.1. 什么时候使用数据库 有大量相似结构的数据需要存储的时候就可以使用数据库。 1.2. SQLite的简介 SQLite是一款轻量级的数据库。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它。Androi…

python计算绩效工资_python实现 --工资管理系统

原博文 2017-07-25 22:41 − # -*- coding: utf-8 -*- __author__ hjianli # import re import os info_message """Alex 100000 Rain 80000 Egon 50000 Yuan 30000 """ #序列字典 xulie_...01669 相关推荐 2019-09-28 21:13 − Python python…

为Windows Server 2012 R2指定授权服务器

为Windows Server 2012 R2指定授权服务器在Windows Server 2008 R2的终端服务中,可以手动指定授权服务器,而在Windows Server 2012 R2中,默认只能通过"远程桌面连接服务"管理器,指定授权服务器,而要使用远程…

spring5高级编程_Spring 5.X系列教程:满足你对Spring5的一切想象-持续更新

简介是什么让java世界变得更好,程序员变得更友爱,秃头率变得不是那么的高,让程序员不必再每天996,有时间找个女朋友?是Spring。是什么让企业级java应用变得简单易懂,降低了java程序员的进入门槛&#xff0c…

关于resolve非泛型方法不能与类型实参一起使用

今天mvc新建三层时,写到bll层中一直报下面的错误,检查了几遍赶脚并没有什么错。最后发现缺少一些引用。 如下面的图,少添加了下面的两个引用.Unity是微软模式与实践团队开发的一个轻量级、可扩展的依赖注入容器, Microsoft.Practices.Unity.C…

设计模式-Singleton

2019独角兽企业重金招聘Python工程师标准>>> Singleton算是知道的设计模式中最简单的最方便实现的了,模式实现了对于类提供唯一实例的方法,在很多系统中都会用到此模式。在实际项目中使用全局变量,或者静态函数等方式也可以达到这…

dump分析工具_Java应用CPU过高,如何排查?参考解决思路和常用工具总结

本文总结了一些常见的线上应急现象和对应排查步骤和工具。分享的主要目的是想让对线上问题接触少的同学有个预先认知,免得在遇到实际问题时手忙脚乱。毕竟作者自己也是从手忙脚乱时走过来的。只不过这里先提示一下。在线上应急过程中要记住,只有一个总体…

st官网下载stm32固件库方法

进入www.st.com官网------把网站改成中文(就在右上方)----点击产品-----选择右侧的微控制器选项------选择左侧的STM32 32位ARM CortexMCU-----选择左侧的STM32F1系列-----选择STM32103-----选择中间部分mcu对应型号(我用的是STM32F103ZE)---…

mysql5.5提示Deprecated: mysql_query(): The mysql extension is deprecated

解决方法1&#xff1a;在php程序代码里面设置报警级别 <?php error_reporting E_ALL & ~E_DEPRECATED 方法2&#xff1a;禁止php报错 display_errors On 改为 display_errors Off 方法3&#xff1a;使用mysqli或者PDO 建议大家尽快取消mysql&#xff0c;全部都走…

JavaScript强化教程 —— Cocos2d-JS极速调试技巧

本文为 H5EDU 机构官方 HTML5培训 教程&#xff0c;主要介绍&#xff1a;JavaScript强化教程 —— Cocos2d-JS极速调试技巧 本文教大家一个调试Cocos2d-JS的小技巧&#xff0c;我都是这么用的&#xff0c;特意来告诉大家这个轻量快速的调试技巧。1.首先我们需要安装官方的cocos…

dos攻击命令_Kali Linux系列之拒绝服务攻击(DOS)实战(上)

(你的世界是个什么样的世界&#xff1f;你说&#xff0c;我们倾听!)-----------------小百科拒绝服务攻击即是攻击者想办法让目标机器停止提供服务&#xff0c;是黑客常用的攻击手段之一。其实对网络带宽进行的消耗性攻击只是拒绝服务攻击的一小部分&#xff0c;只要能够对目标…

stm32定时器配置

stm32通用定时器 STM32的定时器是个强大的模块&#xff0c;定时器使用的频率也是很高的&#xff0c;定时器可以做一些基本的定时&#xff0c;还可以做PWM输出或者输入捕获功能。 时钟源问题&#xff1a; 名为TIMx的有八个&#xff0c;其中TIM1和TIM8挂在APB2总线上&#xff0c;…

SQL 养成一个好习惯是一笔财富

来源&#xff1a;MR_ke 链接&#xff1a;http://www.cnblogs.com/MR_ke/archive/2011/05/29/2062085.html 我们做软件开发的&#xff0c;大部分人都离不开跟数据库打交道&#xff0c;特别是erp开发的&#xff0c;跟数据库打交道更是频繁&#xff0c;存储过程动不动就是上千行&a…

【JAVA】StringTokenizer 迭代方式对字符串进行分割

StringTokenizer是一个用来分隔String的应用类&#xff0c;相当于VB的split函数。1.构造函数public StringTokenizer(String str)public StringTokenizer(String str, String delim)public StringTokenizer(String str, String delim, boolean returnDelims)第一个参数就是要分…

python数组定义_python定义数组

广告关闭 腾讯云11.11云上盛惠 &#xff0c;精选热门产品助力上云&#xff0c;云服务器首年88元起&#xff0c;买的越多返的越多&#xff0c;最高返5000元&#xff01; 一、一维数组 1. 直接定义matrix2. 间接定义matrixprint(matrix)输出&#xff1a;3. 数组乘法matrix*5print…

Android-语言设置流程分析

Android手机语言切换行为&#xff0c;是通过设置-语言和输入法-语言来改变手机的语言&#xff0c;其实这个功能很少被用户使用。 以Android5.1工程源码为基础,从设置app入手来分析和学习语言切换的过程:一、语言设置界面&#xff1a;首先在设置app中找到语言设置这个Preference…

charles 安装 ssl_最全面的解决Charles手机抓包的证书问题(步骤非常详细)

源自公众号文章: 彻底解决Charles手机抓包的证书问题简介: Charles 抓包是日常开发当中经常会用到的技术, 在 Android 6 之前, 手机系统既信任系统内置的证书, 也信任用户自己安装的证书, 但是在 Android 7 之后, 却发生了变化, 手机系统只信任系统内置的根证书. 当然了, 这是为…

oracle报错:ORA-00054: 资源正忙,要求指定 NOWAIT

ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源&#xff1a; --首先得到被锁对象的session_idselect session_id from v$locked_object; --通过上面得到的session_id去取得v$session的sid和serial#&#xff0c;然后对该进程进行终止。--SELECT sid, serial#, username, o…

ARM中ROM,RAM,FLASH区别

RAM&#xff08;Random Access Memory&#xff09;的全名为随机存取记忆体&#xff0c;它相当于PC机上的移动存储&#xff0c;用来存储和保存数据的。它在任何时候都可以读写&#xff0c;RAM通常是作为操作系统或其他正在运行程序的临时存储介质&#xff08;可称作系统内存&…