字符串

一、关键字:str

字符串是不可变的可迭代的数据类型

二、方法:

name = 'alex uwu sir'

.title     #标题 使首字母大写​​ 只要有特殊字符隔开,才能分别认为是多个单词.(中文也是特殊字符

print(name.title())           #所有的单词的首字母大写 

.capitalize     首字母大写 ,不管字符串中有几个单词, 只有第一个字母大写

print(name.capitalize())      #句子首字母大写

.upper()   使单词中字母全部大写

print(name.upper())           #所有的字母大写 

.lower​ ()   使单词中字母全部小写

print(name.lower())           #字母小写 

.count()   计数​

print(name.count('w'))        #计数 

.find()   查找位置​,查找不存在的就返回-1

print(name.find('m'))         #查找索引位置 不存在的就输出-1 

.index()   索引 查找不存在的就报错

print(name.index('l'))        #索引,不存在的就报错

.center​()   居中 第一个放数字,第二个放要填充的内容

print(name.center(15,'*'))       #居中,使该字符放在中间,前面的数字使加上填充的字符一共有的字符数

.split()   #分割​ 括号里没有输入的时候默认的是空格 通过对在括号里的字符进行切割来实现分割字符串的目的,同时将分割出来的字符串放在一个列表里输出. #可以将字符串转换成列表

print(name.split('u'))           #分割,通过对在括号里的字符进行切割来实现分割字符串的目的,同时将分割出来的字符串放在一个列表里输出 

.strip()   #脱 默认消去两头的空格和换行符​​.制定消去的内容时是掐头去尾​  可以应用在消除密码账号上的空格导致的错误.

#用户登录时消除空格
name = 'alex'
print(name.strip()) user = input('请输入账号:').strip()
pwd = input('请输入密码:').strip()
if user == 'alex' and pwd == 'alex3714':
print('输入正确')
else:
print('输入错误')

.join() #指定字符拼接​

s = '_'.join(name)               #插入,将_插入变量name中每一个字符中间 

name .replase('x','n')   #替换 第一个是指被替换的内容,第二个是指用什么替换​​

print(name.replase('a','i'))     #替换,前面的是被替换的内容,后面的是要替换的内容 

name. startswith()   #询问电脑以什么开头​,获取的结果是布尔值

print(name.startswith())         #询问,该变量以什么开头 

name.endswith()    #询问以什么结尾 获取的结果是布尔值

print(name.endswith())           #询问该变量以什么结尾

.format()        #格式化 将括号内的内容填充进变量中的{} :

​                     #可以 按照占位的位置来填充

​                     #也可以按照索引来填充

#按照关键字对应填充​

is系列方法:

.isalnum​() #判断是不是数字和字母

.isalpha​() #判断是不是纯字母

.isdigit()   #判断是不是纯数字

.isupper()   #判断是不是大写字母

.islower(    #判断是不是小写字母​

例题:判断是否是纯数字,输出数据类型

num = input('请输入数字:')
if num.isdigit():
num = int(num)
print(type(num))
else:
print('都告诉你是数字了')

例:用户登录时消除空格:

user = input('请输入账号:').strip()
pwd = input('请输入密码:').strip()
if user == 'alex' and pwd == 'alex3714':
print('输入正确')
else:
print('输入错误')

例:upper和.lower 两个方法的应用场景:

验证码中较长使用:​yzm = 'O98k':

y_zm = input('输入验证码O98k:')
if y_zm.upper() == yzm.upper():
print('正确!'​​
else:
print('错误')

例:

怎么通过代码一行把字符串转换成列表​​,同时用一行代码把列表转换成字符串

​通过方法.split() .join()来进行转换

name = 'alex'
print(name.split())​
lst = ['1','2','3']
s ='_'.join(lst)​​

三、下标(索引):

m e e t

0 1 2 3 ​

-4 -3 -2 -1

切片; [起始位置 : 终止位置 : 步长] 顾头不顾尾

从左往右切: [0:4:1]

从右往左切 [-1:-4:-1]​​ 后面的1和-1是指的方向,其中+指的是从左到右,-指的是从右往左.在其中的第二个冒号之后指的是步长.

例题:

将'我在上面这么动,你在下面没反应'的反过来输出

name = '我在上面这么动,你在下面没反应'

print(name[::-1])

注意:起始终止位置不写即表示整体输出

 

python七类之字符串的更多相关文章

  1. python七类之字典详解

    一.字典 一.关键字:dict 1.字典是唯一的键值对数据,其表现形式:   dic  =  {键:值},​字典里的键必须保证是唯一的 2.键必须是不可变的数据类型: ​a.故列表是不能当键的 b.所 ...

  2. python七类之列表元组

    列表 一.关键字:  list  lst = [ , , , , , , ,] lst = [1,2,3,4] 二.方法: 1.增加:​ . append( ) #追加​​​,添加元素进列表最后 ls ...

  3. python七类之集合

    集合 一.关键字 : set 定义是 s = {}    #当里面没有元素的时候​​表现为字典数据类型 s = {} #空的{}代表空的字典,而不是集合 print(type(s)) 集合是不可哈希的 ...

  4. python七类之整型布尔值

    整型与布尔值 一.关键字:整型 --->int     布尔值----->bool  : True  真  False  假 1.整形和布尔值都是不可变得不可迭代的数据类型 2.整型: 主 ...

  5. Python虚拟机类机制之绑定方法和非绑定方法(七)

    Bound Method和Unbound Method 在Python中,当对作为属性的函数进行引用时,会有两种形式,一种称为Bound Method,这种形式是通过类的实例对象进行属性引用,而另一种 ...

  6. 从C#到Python —— 4 类及面向对象

    http://www.cnblogs.com/yanxy/archive/2010/04/04/c2p_4.html 如果你熟悉C#,那么对类(Class)和面向对象(Object Oriented) ...

  7. 第二百九十五节,python操作redis缓存-字符串类型

    python操作redis缓存-字符串类型 首先要安装redis-py模块 python连接redis方式,有两种连接方式,一种是直接连接,一张是通过连接池连接 注意:以后我们都用的连接池方式连接,直 ...

  8. python面向对象(类的成员及类方法)

    类的普通成员 字段 方法 属性 类的高级成员 静态字段 静态方法 属性方法   类方法 类成员修饰符 类的成员 类的成员可以分为三大类:字段.方法和属性 注:所有成员中,只有普通字段的内容保存对象中, ...

  9. python面向对象(类和对象及三大特性)

    类和对象是什么 创建类 新式类 和 经典类 面向对象三大特性 继承 封装 多态   面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使 ...

随机推荐

  1. jboss安全配置规范

    https://wenku.baidu.com/view/aad157a4f242336c1fb95ed5.html https://wenku.baidu.com/view/ac227281ec3a ...

  2. 【Leetcode】【Easy】String to Integer (atoi)

    Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input cases. ...

  3. HTML <meta> Attribute

    HTML <meta> Attribute http-equiv 定义和用法 The http-equiv attribute provides an HTTP header for th ...

  4. javascript 面向对象(实现继承的几种方式)

     1.原型链继承 核心: 将父类的实例作为子类的原型 缺点:  父类新增原型方法/原型属性,子类都能访问到,父类一变其它的都变了 function Person (name) { this.name ...

  5. 为什么使用中间件下载时总是收到警告消息Object is in status Wait

    在使用中间件从ERP下载对象时,正常情况下应该看到如下提示消息: 然而有时遇到的是黄色的警告消息:Object is in status Wait. 如何自己排错呢?在函数SMOF0_INIT_DNL ...

  6. BZOJ1718:[USACO]Redundant Paths 分离的路径(双连通分量)

    Description In order to get from one of the F (1 <= F <= 5,000) grazing fields (which are numb ...

  7. POJ 2771 Guardian of Decency 【最大独立集】

    传送门:http://poj.org/problem?id=2771 Guardian of Decency Time Limit: 3000MS   Memory Limit: 65536K Tot ...

  8. likelihood(似然) and likelihood function(似然函数)

    知乎上关于似然的一个问题:https://www.zhihu.com/question/54082000 概率(密度)表达给定下样本随机向量的可能性,而似然表达了给定样本下参数(相对于另外的参数)为真 ...

  9. 最短路问题:迪杰斯特拉算法(Dijsktra)

    Dijkstra算法 1.定义概览 Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径.主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止.Di ...

  10. 【题解】洛谷P2926 [USACO08DEC]拍头Patting Heads

    洛谷P2926:https://www.luogu.org/problemnew/show/P2926 思路 对于每一个出现的数 从1到Max 凡是这个数的倍数 那么ans就加上他的个数 PS:最后要 ...