1.字符串 str (用''or“”表示)

字符串中每个组成部分为字符,python中只要是用引号引起来的都叫字符串

---特征:

加法

n1 = "alex"
n2 = "sb"
n4 = "db"
n3 = n1 + n2 + n4
print(n3)
alexsbdb

乘法

n1 = "alex"
n2 = n1 * 4
print(n2)
alexalexalexalex

---capitalize() 首字母大写

---casefold() 将所有的字母变小写,但是其功能更全,可以将很多未知的相应变成小写

---lower() 将所有的字母变小写,功能没有casefold齐全

---center(self,width,fill = None)  self可以不用管,但是width必须赋予一个数

test = 'mada'            # 表示设置宽度,并将内容居中
v = test.center(20,'*') # 20代指总长度
# *用来空白位置填充,只能为同一个字符,可有可无
print(v)
********mada********

---count(self,sub,start=None,end=None) 去字符串中寻找,寻找子序列的出现次数

---encode(self,encode='utf-8',errors='strict')

---endwith(self,suffix,start=None,end=None)表示以什么结尾

---startwith(self,suffix,start=None,end=None)表示以什么开始

---find(self,sub,start=None,end=None) # 未指定开始结束时,从开始往后找,找到第一个后,获取其位置

---index(self,sub,start=None,end=None)# 作用同find,但是索引不到内容时会报错,因此可以忽略该用法

---format(*args,**kwargs)

test = 'i am {name},age{a}'
# format 作用为格式化,将一个字符串中的占位符替换为指定的值
v= test .format(name='mada',a=18)
print(v)
i am mada,age 18

---format_map(self,mapping)

test = 'i am {name},age{a}'
# format_map 作用也为格式化,但是传入的值指定为{'name':'mada','a':19}
v= test .format_map('name':'mada','a':19)
print(v)
i am mada,age 18

---isalnum() # 判断字符串中是否只包含字母和数字

---isalpha() # 判断字符串中是否是字母、汉字,是返回true,否返回false

---isdecimal() <isdigit()<isnumeric()# 都可用来判断当前输入是否是数字,但isdigit()可以判断@2之类的数字;isnumeric()可以判断@2、二之类的数字。

---isprintable()判断是否存在不可显示的字符

如:# \t 制表符
       # \n 换行

---isspace()判断是否‘全部’是空格

---istitle()判断是否是标题

---title()将内容转换为标题形式

--join()将字符串中的每一个元素按照指定分隔符进行拼接

 test = "你是风儿我是沙
v = "_".join(test)
print(v)
你_是_风_儿_我_是_沙

---center(),ljust(),rjust(),zfill()

v = test.center(20,'*')  # 将字符串放中间,两边填充20个*
print(v)
v = test.ljust(20,'*') # 将字符串放左边,右边填充20个*
print(v)
v = test.rjust(20,'*') # 将字符串放右边,左边填充20个*
print(v) v = test.zfill(20) # 只能填充0
print(v)
******马达真是棒棒哒******* 
马达真是棒棒哒*************
*************马达真是棒棒哒
0000000000000马达真是棒棒哒

---islower()判断是否全部是小写

---lower() 转换为小写

---isupper()判断是否全部是大写

---upper()转换为大写

# 以下三者作用都为移除指定字符串,,有限最多匹配,可去除\t \n

---lstrip()去除字符串左右空白

---rstrip()去除字符串右空白

---strip()去除字符串左空白

---translate()对应关系替换

test =  "aeiou"
test1 = "12345"
v = "asiduf"
m = str.maketrans("aeiou", "12345")
new_v = v.translate(m)
print(new_v)
1s3d5f

---rpartition()将字符串按照分隔符分割为三部分

test = "testasdsddfg"
v = test.partition('s')
print(v)
v = test.rpartition('s')
print(v)
('te', 's', 'tasdsddfg')
('testasd', 's', 'ddfg')

---split()、rsplit()分割为指定个数,不指定时默认全部分割,但是不显示分隔符

v = test.split('s',2)
print(v)
['te', 'ta', 'dsddfg']

---splitlines()分割,只能根据,true,false:决定是否保留换行符

test = "asdfadfasdf\nasdfasdf\nadfasdf"
v = test.splitlines(False)
print(v)
v = test.splitlines(True)
print(v)
['asdfadfasdf', 'asdfasdf', 'adfasdf']
['asdfadfasdf\n', 'asdfasdf\n', 'adfasdf']

---startswith()endswith()以xxx开头,以xx结尾

---swapcase()大小写转换,大写变小写,小写变大写

---isidentifier()字母,数字,下划线 : 标识符 def  class

a = "def"
v = a.isidentifier()
print(v)
True

---replace()将指定字符串替换为指定字符串

test = "alexalexalex"
v = test.replace("ex",'bbb')
print(v)
v = test.replace("ex",'bbb',2)
print(v)
albbbalbbbalbbb
albbbalbbbalex

......

###################### 掌握7个基本魔法 ######################
# join # '_'.join("asdfasdf")
# split
# find
# strip
# upper
# lower
# replace

###################### 5个灰魔法 ###########################

1.for循环

# for 变量名 in 字符串:
# 变量名
# break
# continue

test = "马达真是棒棒哒"
index = 0
while index < len(test):
v = test[index]
print(v)
index += 1
print('=======')







=======
for item in test:
print(item)
break

# 输出一个马之后,break终止所有循环,结束
for item in test:
continue
print(item)
# 什么也没有输出,因为continue会跳出当前循环,怎么也到不了print这一步

2.索引,下标,获取字符串中的某一个字符

test = "马达真是棒棒哒"
v = test[3]
print(v)

3.切片

test = "马达真是棒棒哒"
v = test[0:-1]
print(v)
马达真是棒棒

4.获取长度:len获取当前字符串中由几个字符组成

v = len(test)
print(v)
7

5.获取连续或不连续的数字

python3中只有for循环时,才一个一个创建
# r1 = range(10)
# r2 = range(1,10)
# r3 = range(1,10,2)
# 帮助创建连续的数字,通过设置步长来指定不连续

v = range(0, 100, 5)
for item in v:
print(item)
0
5
10
15
20
25
30
35
40
45
50
55
60
65
70
75
80
85
90
95

###################### 1个深灰魔法 ######################

字符串一旦创建,不可修改
 一旦修改或者拼接,都会造成重新生成字符串

name = "mada"
age = ""
info = name + age
print(info)

day4-字符串专区的更多相关文章

  1. day4.字符串练习题

    有变量 name = “alex leNb”,完成如下操作 1. 移除name变量对应的值两边的空格,并输出处理结果 print(name.strip()) 2. 移除name变量左边的’al’并输出 ...

  2. day4 字符串的操作

    今天是第四天,一如既往的每天都有不会做的内容,然后还是那种你使劲的绞尽脑汁都想不出来的问题,而且还得是别人提示着,讲着,演示着才能明白的,过后自己还得使劲捉摸才能慢慢吃透.一开始还挺顺利的,还以为自己 ...

  3. day4 字符串的使用方法

    一.字符串切片 索引和切片 [起始位置:结束位置:步长] s1 = 'python全栈8期' # 索引从0开始[索引(下标,index)] print(s1[0]) print(s1[3]) prin ...

  4. day 69-70 一对一 一对多 多对一联表查询

    day 69 orm操作之表关系,多对多,多对一 多对一/一对多, 多对多{类中的定义方法} day69 1. 昨日内容回顾 1. 单表增删改查 2. 单表查询API 返回QuerySet对象的: 1 ...

  5. python 每周作业

    day2:python的简介与认识day2:# 1.写一个登录程序# username# passwd# 让用户输入账号和密码,输入用户和密码输入正确的话# 提示你 xxx,欢迎登录,今天的日期是xx ...

  6. DAY4(python)打印字符串以及增删改查

    用while循环打印字符串 #if i in s: # print ( i ) s='nanfjkhndaol' index = 0 while 1 : print (s[index]) index+ ...

  7. 【学习笔记】--- 老男孩学Python,day4 编码,数据类型,字符串方法

    今日主要内容 1. 编码 1. 最早的计算机编码是ASCII. 美国人创建的. 包含了英文字母(大写字母, 小写字母). 数字, 标点等特殊字符!@#$% 128个码位 2**7 在此基础上加了一位 ...

  8. 【支付专区】之对字符串数据进行Base64位加密,解密

    加密,解密 String pwd="测试"; byte[] bytes = pwd.getBytes("UTF-8"); //加密 String pwdNew= ...

  9. JSON字符串和java对象的互转【json-lib】

    在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的标签,这无疑占据了网络流量,JSON在这方面则做的很好, ...

  10. python_way,day4 内置函数(callable,chr,随机验证码,ord),装饰器

    python_way,day4 1.内置函数 - 下 制作一个随机验证码 2.装饰器 1.内置函数 - 下 callable() #对象能否被调用 chr() #10进制数字对应的ascii码表中的内 ...

随机推荐

  1. 自己动手撸一个LinkedList

    自己动手撸一个LinkedList 1. 原理 LinkedList是基于双链表的动态数组,数据添加删除效率高,只需要改变指针指向即可,但是访问数据的平均效率低,需要对链表进行遍历.因此,Linked ...

  2. 0基础学Java快速扫盲指南,月入2W的基础

    学Java,掌握一些基本的概念是第一步,本文简单为大家介绍一些扫盲级别的内容,希望帮助小白快速入门. 一.基本概念 JVM:java虚拟机,负责将编译产生的字节码转换为特定机器代码,实现一次编译多处执 ...

  3. 从零起步 系统入门Python爬虫工程师 ✌✌

    从零起步 系统入门Python爬虫工程师 (一个人学习或许会很枯燥,但是寻找更多志同道合的朋友一起,学习将会变得更加有意义✌✌) 大数据时代,python爬虫工程师人才猛增,本课程专为爬虫工程师打造, ...

  4. Java的Object类

    (1)Object是类层次结构的根类,所有的类都直接或者间接的继承自Object类. (2)Object类的构造方法有一个,并且是无参构造 这其实就是理解当时我们说过,子类构造方法默认访问父类的构造是 ...

  5. python selenium句柄操作

    一.获取当前窗口句柄 1.元素有属性,浏览器的窗口其实也有属性的,只是你看不到,浏览器窗口的属性用句柄(handle)来识别. 2.人为操作的话,可以通过眼睛看,识别不同的窗口点击切换.但是脚本没长眼 ...

  6. [LUOGU3413] SAC#1 - 萌数

    题目背景 本题由世界上最蒟蒻最辣鸡最撒比的SOL提供. 寂月城网站是完美信息教室的官网.地址:http://191.101.11.174/mgzd . 题目描述 辣鸡蒟蒻SOL是一个傻逼,他居然觉得数 ...

  7. 数据结构5_java---二叉树,树的建立,树的先序、中序、后序遍历(递归和非递归算法),层次遍历(广度优先遍历),深度优先遍历,树的深度(递归算法)

    1.二叉树的建立 首先,定义数组存储树的data,然后使用list集合将所有的二叉树结点都包含进去,最后给每个父亲结点赋予左右孩子. 需要注意的是:最后一个父亲结点需要单独处理 public stat ...

  8. Halcon一日一练:读取文件目录图像的三种方法

    第一种方法: 读了一个单一图像: read_image(Image,'fabrik') 这种方式可以快速的读取软件自身携带的库图像文件,系统设定了库图像映像文件的快速读取方式,我们也可以通过绝对地址的 ...

  9. collectionView reloadData走了不执行cellForItemAtIndexPath

    有可能是sizeForItemAtIndexPath方法中的前几个cell没有设置大小, 这里必须设置, 哪怕是设置一个很小的值

  10. Linux对目录操作命令

    cd /home        进入 '/ home' 目录 cd ..        返回上一级目录 cd ../..        返回上两级目录 cd        进入个人的主目录 cd ~u ...