初学python,有些地方可能还不够明白,希望各位看官发现我的错误后留言指正!

一.字符串的索引与切片

  注:字符串的第一位的索引值是0

  1.索引案例

 s = 'abcd'
s1 = s[0]
print(s1)#输出a

  2.切片案例,注:顾头不顾尾,即指定的最后一个索引的字符取不到

 s = 'abcd'
s2 = s[0:3]
print(s2)
#输出abc,不包括下标是3的d

  3.若字符串非常长,而且要取后面的字符串,可以从最后一位(下标是-1)开始取

 s = 'abcd'
s3 = s[-1]
print(s3)#输出d

  4.取整个字符串

 s = 'abcd'
s4 = s[0:]
s5 = s[:]
print(s4,s5)#都会输出整个字符串 print(s[0:0])#输出一个空字符串,不会报错

  5.步长:默认步长为1,若需要间隔固定的间距取字符,则步长=间距+1 ,格式:[首下标:尾下标:步长]

 s = 'abcde'
s6 = s[0:4:2]
print(s6)#输出ac

  6.逆序

 s = 'abcde'
s7 =s[-1::-1]
#或者s7 =s[::-1]
print(s7)#输出edcba

  7.指定某个下标开始逆序

 s = 'abcde'
s8 =s[3::-1]
print(s8)#输出dcba

二、大写、小写转换

  1.首字母大写

 s='abcd'
s1 = s.capitalize()#首字母大写

  2.首字母大写:用空格隔开或者其他特殊字符、数字隔开也可以

 s = 'sun ton-alex*egon'
s1=s.title()#将s和t转换成大写
print(s1)#输出Sun Ton-Alex*Egon

  3.全部转大写、小写

 s='abcd'
s2 = s.upper()#转换大写
s3 = s.lower()#转换小写

其用处体现在:输入验证码时,不区分大小写

  4.大小写翻转

 s='AbCd'
s.swapcase()#小写转大写、大写转小写

三.字符串居中、空白填充

 s='AAA'
s1 = s.center(20)#总长度为20,将字符串居中
s2 = s.center(20,'*')#居中,并且两边的用'*'填充

四.\t补位

s='ab\tcd'
s1 = s.expandtabs()
print(s1)
#输出ab cd,中间有六个空格,总共八位,\t前面的ab占两位,所以补六位,大于8位的
#补16位

五.公共方法-字符串长度,列表长度、字典长度……

 s = 'abcd我'
print(len(s))#输出5,中文也算一个字符

六.判断以单个字符或多个字符开头、结尾

 s = 'abcd'
s1 = s.startswith('a')
s2 = s.startswith('ab')
s3 = s.startswith('abc')
print(s1,s2,s3)#都返回True #判断结尾的字符:同理,只是写法变了
s = 'abcd'
s1 = s.endswith()

  1.将字符串切片后,判断是否以某字符开头:

 s = 'abcd'
s1 = s.startswith('b',1,3)#判断切片后的'bc'是否以字符'b'开头

七.找出字符串里是否有某个字符或连续的字符串,若找到则返回其第一个字符的索引(下标),找不到则返回-1

 s = 'abcd'
s1 = s.find('c')
print(s1)#输出2

利用for循环找到字符串里所有指定字符的下标

 s = 'abcdacd'
for index,i in enumerate(s):
if i=='a':
print('{}的下标:{}'.format(i,index))
#输出:
#a的下标:0
#a的下标:4

还有一个方法index,它和find作用类似,通过元素找索引,不同点是:找不到指定的字符则会报错!

八.默认删除字符串前后的空格

 s = '  abcd  '
s1 = s.strip()
print(s1)#输出abcd

  1.也可以指定删除的字符或者特殊字符,空格也可以指定,注:字符之间的空格、指定字符不能删除

 s = 'abcd***'
s1 = s.strip('*')
print(s1)#输出abcd #也可以指定多个字符或特殊字符
s = ' %%abcd***'
s1 = s.strip(' %*')#指定字符的顺序无关
print(s1)#输出abcd

  2.因为strip()方法能删除字符串两边的指定字符,所以可以指定只删除字符串左边或右边的字符

#删左边,不动右边
lstrip()
#删右边,不动左边
rstrip()

九.统计指定字符的个数

 s = 'abbcd'
s1 = s.count('a')
s2 = s.count('bb')
print(s1,s2)#都输出1

十.分割成列表(字符串转换成列表),默认以空格为分隔符进行分割,当然也可以指定字符为分隔符

 s = 'a b c d'
s1 = s.split()
print(s1)#输出['a','b','c','d'] #注:若分隔符前面没有字符,也会分割成一个空的字符
s = ';a;b;c;d'
s2 = s.split(';')
print(s2)#输出['','a','b','c','d']

十一.格式化输出

  第一种:

 s = '我叫{},今年{}'.format('sun','')#数字可以不用引号引起来
print(s)

  第二种:利用索引(下标),format里的字符用逗号隔开,下标从0开始

s = '我叫{0},今年{1}'.format('sun','')#'sun'的下标是0,'19'的下标是1

  第三种:键值对的形式,在format里的字符可以不用按输出的顺序排列

 s = '我叫{name},今年{age}'.format(age=19,name='sun')

十二.替换

 s = 'abacda'
s1 = s.replace('a','A')#将所有的a替换成A #也可以指定次数
s1 = s.replace('a','A',1)#只把第一个a替换成A

十三.判断字符串组成内容

 #判断字符串是否只由数字组成
s = ''
print(s.isnum()) #判断字符串是否只由字母组成
s1 = 'abc'
print(s.isalpha()) #判断字符串是否由数字或字母组成
s2 = '123abc'
print(s.isalnum())

十四.for循环(有限循环):in后面的能迭代的就能循环

 s = 'abcd'
for i in s:
print(i)
#输出:
a
b
c
d

 while循环可以是无限循环(while 1),加上控制条件

 s = 'abcdacd'
i=0
while i<len(s):
print(s[i]) #输出字符串里的每个字符
i += 1

 in的其他用法:判断字符串里是否存在某些字符,当然了,有in那么就有not in

 s = 'azxczcx政治'
if '政治' in s:
print('含有敏感词')

Python基础之str常用方法、for循环的更多相关文章

  1. python学习第四讲,python基础语法之判断语句,循环语句

    目录 python学习第四讲,python基础语法之判断语句,选择语句,循环语句 一丶判断语句 if 1.if 语法 2. if else 语法 3. if 进阶 if elif else 二丶运算符 ...

  2. python基础知识--条件判断和循环

    一.输入输出 python怎么来接收用户输入呢,使用input函数,python2中使用raw_input,接收的是一个字符串,输出呢,第一个程序已经写的使用print,代码入下: 1 name=in ...

  3. 计算机基础,Python基础--变量以及简单的循环

    一.计算机基础 1.CPU 相当于人体的大脑,用于计算处理数据. 2.内存  用于存储数据,CPU从内存调用数据处理计算,运算速度很快. PS:问:既然在内存里的数据CPU运算速度快,为什么计算机不全 ...

  4. python基础3 字符串常用方法

    一. 基础数据类型 总览 int:用于计算,计数,运算等. 1,2,3,100...... str:'这些内容[]'    用户少量数据的存储,便于操作. bool: True, False,两种状态 ...

  5. python基础之条件控制与循环

    Python3 条件控制 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 计算机之所以能做很多自动化的任务,因为它可以自己做条件判断. 比如,输入用户 ...

  6. Python基础:条件判断与循环的两个要点

    一.条件判断: Python中,条件判断用if语句实现,多个条件判断时用if...elif实现:看下面一段程序 #python 3.3.5 #test if...elif age = 20 if ag ...

  7. Python基础(条件判断,循环,占位符等)

    Python 自动化 系统开发用的语言和自动化脚本可以不同 学习peython可用于: 网路爬虫,数据分,web开发,人工智能,自动化运维,自动化测试,嵌入式,黑客 第三方库比较全 脚本语言:功能单一 ...

  8. python基础知识input到while循环

    j周笔记 输入与输出 1.输入 input ('请输入内容')= 字符串 2.输出 print(输出到控制台) 变量vairable               变量就是相当于我们人的名字 1.名字 ...

  9. Python基础之(判断,循环,列表,字典)

    一.python介绍 Python是一种简单易学,功能强大的编程语言,它有高效率的高层数据结构,简单而有效地实现面向对象编程.Python简洁的语法和对动态输入的支持,再加上解释性语言的本质,使得它在 ...

随机推荐

  1. Python连载7-time包的其他函数

    接连载6 一.time包 1.函数:sleep(second) (1)含义:是程序进入休眠状态多少秒 (2)格式:time.sleep(int num) 2.函数:strftime() (1)含义:将 ...

  2. 解决vuejs 创建数据后设置对象的属性实现不了双向绑定问题

    抛出踩坑:vue创建后的数据,自定义设置对象的属性,实现不了双向绑定 当业务场景,需要在请求接口数据新增自定义的属性 let foodList = [ {title: '回锅肉', price: 99 ...

  3. Hyperledger Fabric1.4的多机部署

    之前的文章深入解析Hyperledger Fabric启动的全过程主要讲解了Fabric的网络搭建,以及启动的整体流程,但是都是通过单机完成的.而区块链本身就是去中心化的,所以最终还是要完成Fabri ...

  4. 推荐三个学习git的网站或教程

    廖雪峰官方教程:https://www.liaoxuefeng.com/wiki/896043488029600/900388704535136 ProGit中文版:https://git-scm.c ...

  5. java源码解析之String类(二)

    上一节主要介绍了String类的一些构造方法,主要分为四类 无参构造器:String(),创建一个空字符串"",区别于null字符串,""已经初始化,null并 ...

  6. laravel-admin(自定义表单与验证)

    场景: 很多时候,由于我们业务场景比较特殊,需要自定义表单,然后框架给我提供了对应表单组建! 案列:以创建一个字段为列 1.在控制器对应的方法中调用表单组建创建表单 public function c ...

  7. java创建对象的方式

    Java中创建对象的5种方式 作为Java开发者,我们每天创建很多对象,但我们通常使用依赖管理系统,比如Spring去创建对象.然而这里有很多创建对象的方法,我们会在这篇文章中学到. Java中有5种 ...

  8. centOS7.3 6忘记密码/修改root密码

    RedHat最近升级了centos linux操作系统,更新为centos7,更新幅度之大,连红帽官方的认证RHCE也进行了升级,认证必须使用rhel7,可见红帽官方对centos7的重视程度. 最新 ...

  9. leadcode的Hot100系列--617. 合并二叉树

    合并,就是两个树的结构交集部分,数据相加,否则,取非空部分. 所以,这里相当于是对两棵树同时遍历: 如果两棵树节点都不为空,则数据相加, 否则,直接指针把不为空的节点复制过来. 注:这里没有申请内存, ...

  10. mysql双机热备实现方案

    一.概念 1.热备份和备份的区别 热备份指的是:High Available(HA)即高可用,而备份指的是Backup,数据备份的一种.这是两种不同的概念,应对的产品也是两种功能上完全不同的产品.热备 ...