python基础之字符串类型
一、python字符串类型概述
定义:在单引号\双引号\三引号内,由一串字符组成 name='Test'
name = 'test'
print(type(name))
--------------------------------------------
<class 'str'>
字符串:在引号(单引号,双引号,三引号)里定义的一堆字符
状态:描述性的内容,比如名字,性别,国籍
如果字符串内部包含单引或者双引,需要用到转义字符 \ 来标识:
print("I\'m \"ok\"")
print('\\\n\\')
print(r'\\\n\\') #r"表示引号内的内容不转义
---------------------------------------------------------
I'm "ok"
\
\
\\\n\\
二、字符串的索引(index)
在python当中所有有序的序列都是由索引概念的,它们的区别在于序列是否可以被修改;
索引在我们初学的时候我们可以理解为字符串的下标;
字符串里的每一个个体都被称作字符也是该字符串的一个元素;
比如字符串‘while’,可以按照下图理解其下标概念,索引号从0开始;
w |
h |
i |
l |
e |
0 |
1 |
2 |
3 |
4 |
索引的用法,取单个元素时,使用字符串[索引值] ,索引值为对应元素的索引号;
print("while"[4])
--------------------------------
e
字符串截取:字符串[start:end],得到对应索引范围的元素,该范围包含起始端,不包含结尾端,默认截取的方向是从左往右的;
print("while"[0:3])
-------------------------------
whi
步长截取:字符串[start:end:step] 按照step步长进行隔取;
print("hello world"[0:8:2])
--------------------------------------------
hlow
切片的语法:[起始:结束:步长]
注意:选取的区间属于左闭右开型,即从"起始"位开始,到"结束"位的前一位结束(不包含结束位本身)。
默认取法:字符串[start:end,step] 这三个参数都有默认值、start;默认值为0;end 默认值未字符串结尾元素;step 默认值为1
str = "hello world"
print(str[:])
print(str[:6]) #顾头不顾尾
print(str[-1]) #取反:字符串[负数],从右往左取
print(str[:-1])
print(str[1:7:2])
-----------------------------------------------------------
hello world
hello
d
hello worl
el
三、字符串的方法
字符串的查找 |
count |
计数功能,返回自定字符在字符串当中的个数 |
find |
查找,返回从左第一个指定字符的索引,找不到返回-1 |
|
index |
查找,返回从左第一个指定字符的索引,找不到报错 |
例子1:
str = "hello world"
print(str.count('o')) # 统计次数
print(str.find('w')) # 查找
print(str.find('x')) # 查找,找不到返回-1
# print(str.index('x')) # 查找,找不到报错
------------------------------------------------------------
2
6
-1
字符串的分割 |
splitlines |
按照行分隔,返回一个包含各行作为元素的列表,按照换行符分割 |
例子2:
mystr = "hello world java\n welecome to \nbeijing" # \n表示换行
print(mystr)
print(mystr.splitlines()) # 按照行分割,返回的就是列表
-------------------------------------------------------------------
hello world java
welecome to
beijing
['hello world java', ' welecome to ', 'beijing']
字符串的替换 |
replace |
从左到右替换指定的元素,可以指定替换的个数,默认全部替换 |
例子3:
print("hello".replace('l','k'))
-----------------------------------------
hekko
字符串的修饰 |
center |
让字符串在指定的长度居中,如果不能居中左短右长,可以指定填充内容,默认以空格填充 |
ljust |
让字符串在指定的长度左齐,可以指定填充内容,默认以空格填充 |
|
rjust |
让字符串在指定的长度右齐,可以指定填充内容,默认以空格填充 |
|
format |
按照顺序,将后面的参数传递给前面的大括号 |
|
strip |
默认去除两边的空格,去除内容可以指定 |
|
rstrip |
默认去除右边的空格,去除内容可以指定 |
|
lstrip |
默认去除左边的空格,去除内容可以指定 |
例子4:
str = " Love "
print(str.center(50,"*")) #让字符串在指定的长度居中,
print(str.ljust(30,"*")) #让字符串在指定的长度左齐
print(str.rjust(30,"*")) #让字符串在指定的长度右齐
print(str.rstrip()) #默认去除右边的空格
print(str.lstrip()) #默认去除左边的空格
#format 按照顺序,将后面的参数传递给前面的大括号
python = '{} love {}'
print(python.format('I','you'))
----------------------------------------------------------------
******************** Love ********************
Love ********************
******************** Love
Love
Love
I love you
字符串的变形 |
upper |
将字符串当中所有的字母转换为大写 |
lower |
将字符串当中所有的字母转换为小写 |
|
swapcase |
将字符串当中所有的字母大小写互换 |
|
title |
将字串符当中的单词首字母大写,单词以非字母划分 |
|
capitalize |
只有字符串的首字母大写 |
例子5:
print("hello".upper())
print("HELLO".lower())
print("HELLO world".swapcase())
print("hello world".title())
print("hello world".capitalize())
-----------------------------------------------------
HELLO
hello
hello WORLD
Hello World
Hello world
字符串的判断 |
isalnum |
判断字符串是否完全由字母或数字组成 |
isalpha |
判断字符串是否完全由字母组成 |
|
isdigit |
判断字符串是否完全由数字组成 |
|
isupper |
判断字符串当中的字母是否完全是大写 |
|
islower |
判断字符串当中的字母是否完全是小写 |
|
istitle |
判断字符串是否满足title格式 |
|
isspace |
判断字符串是否完全由空格组成 |
|
startswith |
判断字符串的开头字符 |
|
endswith |
判断字符串的结尾字符 |
|
split |
判断字符串的分隔符切片 |
例子6:
#isalnum
print("123456e".isalnum()) #判断字符串是否完全由字母或数字组成
#isdigit
print("123456".isdigit()) #判断字符串是否完全由数字组成
#isupper
print("HELLO".isupper()) #判断字符串当中的字母是否完全是大写
#islower
print("hello".islower()) #判断字符串当中的字母是否完全是小写
#istitle
print("Hello World".istitle()) #判断字符串的开头首字母是否大写
#isalpha
print("HelloWorld".isalpha()) #判断字符串是否完全由字母组成
# startwith
print("hello world 2.txt".startswith("hello")) #判断字符串的开头
#endswith
print("hello world 2.txt".endswith(".txt")) #判断字符串是否.txt结尾
#replace
print("hello world".replace("hello","LOVE")) #替换
#split
print("hello world".split(" ")) # 按照空格切 ,结果变成列表的元素
# 拓展:
txt = "Gologle#Runoob#Taobao#Facebook"
# 第二个参数为 1,返回两个参数列表
x = txt.split("e", 1)
print(x)
-------------------------------------------------------------------
True
True
True
True
True
True
True
True
LOVE world
['hello', 'world']
['Gologl', '#Runoob#Taobao#Facebook']
例子7:
a = "hello 世界"
#encode转码
res = a.encode('utf-8')
print(res)
------------------------------------
b'hello \xe4\xb8\x96\xe7\x95\x8c'
-----------------------------------------------
a = "hello 世界"
#encode转码
res = a.encode('utf-8')
# print(res)
#decode解码
print(res.decode('utf-8'))
-------------------------------------
hello 世界
例子8:
#format格式化输出
name = 'qqq'
age =23
# res = 'my name is {},my age is {}'.format(name,age) #方法一
# res = 'my name is {1},my age is {0}'.format(age,name) #方法二
res = 'my name is {name},my age is {a};my small name is {name}'.format(name=name,a=age) #方法三
print(res)
----------------------------------------------------------------------------
my name is qqq,my age is 23;my small name is qqq
例子9:
# join把可迭代对象变成字符串,括号里可以是字典,列表,元组,字符串
res = '22'.join(['name','age']) #列表
# res = '22'.join(('name','age')) #元组
print(res)
res = '22'.join('name') #字符串
print(res)
--------------------------------------------------------------------
name22age
n22a22m22e
例子10:
#strip是去除左右两边的字符,默认为空格
a = '-----====毕洪态====='
print(a)
res = a.strip('=')
b = res.strip('-')
print(b)
---------------------------------------------------
-----====毕洪态=====
====毕洪态
例子11:
#%s,%d,%f占位符
res = 'my name is %s; my age is %s' % ('李国祥',23)
print(res)
res = 'my high is %.2f' % 185.2322
print(res)
-----------------------------------------------------------------
my name is 李国祥; my age is 23
my high is 185.23
python基础之字符串类型的更多相关文章
- Python基础之字符串类型内置方法
目录 1. 字符串类型 2. 常用操作及内置方法 3. 其他内置方法 1. 字符串类型 用途:姓名,性别等 定义: name1 = 'zhaojun' name2 = "zhaojun&qu ...
- python基础之序列类型的方法——字符串方法
python基础之序列类型的方法--字符串方法 Hello大家好,我是python学习者小杨同学,经过一段时间的沉淀(其实是偷懒不想更新),我终于想起了自己的博客账号,所以这次带来的是序列方法的后半部 ...
- Python基础数据类型-字符串(string)
Python基础数据类型-字符串(string) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版 ...
- python基础之数值类型与序列类型
Hello大家好,我是python学习者小杨同学,已经学习python有一段时间,今天将之前学习过的内容整理一番,在这与大家分享与交流,现在开始我们的python基础知识之旅吧. 数值类型与序列类型 ...
- redis基础的字符串类型
redis —— 第二篇 基础的字符串类型 我们都知道redis是采用C语言开发,那么在C语言中表示string都是采用char[]数组的,然后你可能会想,那还不简单,当我执行如下命令,肯定是直 接塞 ...
- Python基础(二) —— 字符串、列表、字典等常用操作
一.作用域 对于变量的作用域,执行声明并在内存中存在,该变量就可以在下面的代码中使用. 二.三元运算 result = 值1 if 条件 else 值2 如果条件为真:result = 值1如果条件为 ...
- Python高手之路【六】python基础之字符串格式化
Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...
- Python开发【第一篇】Python基础之字符串格式化
字符串格式化 Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-310 ...
- Python基础__字符串拼接、格式化输出与复制
上一节介绍了序列的一些基本操作类型,这一节针对字符串的拼接.格式化输出以及复制的等做做详细介绍.一. 字符串的拼接 a = 'I', b = 'love', c = 'Python'. 我们的目的是: ...
随机推荐
- BUAA_2020_OO_UNIT3_REVIEW
OO第三单元总结 1. JML语言的理论基础.应用工具链情况 1.1 JML理论基础 我觉得就是<离散数学>中的数理逻辑 由于我的<离散数学>是速成的,导致我不会写规格,只能勉 ...
- WPF之小米Logo超圆角的实现
某些新闻:小米logo换新,程序员一行代码(border-radius:19px)实现,目前此行代码价值200万 某程序员内心:所以还是因为我代码写太少了,所以这200万才没有我的份吗? 这事儿也成功 ...
- VScode+Sublime安装与汉化
两大常用编辑器安装与汉化 想敲代码?工欲善其事,必先利其器,先安装编写代码所需要的工具吧.本期的主角是VScode与Sublime,这是两款比较热门的代码编辑器. 目录: VScode安装与汉化 Su ...
- 1.7.1- HTML表格table
存在即是合理的,表格的是一种常用的标签,不是用来布局,常见是用处理 适合用表格table的地方: 创建表格:
- 软件篇-05-融合ORB_SLAM2和IMU闭环控制SLAM底盘运动轨迹
前面我们已经得到了当前底盘在世界坐标系中的位姿,这个位姿是通过融合ORB_SLAM2位姿和IMU积分得到的,在当前位姿已知的case下,给SLAM小车设置一个goal,我这里是通过上位机设置,然后 ...
- MySql 按日,按周,按月 分组 统计数据
知识关键词:DATE_FORMAT 按天统计: SELECT DATE_FORMAT(create_time,'%Y%m%d') days, COUNT(caseid) count FROM tc_c ...
- Android动态调试so库JNI_Onload函数-----基于IDA实现
之前看过吾爱破解论坛一个关于Android'逆向动态调试的经验总结帖,那个帖子写的很好,对Android的脱壳和破解很有帮助,之前我们老师在上课的时候也讲过集中调试的方法,但是现在不太实用.对吾爱破解 ...
- Windows驱动派遣函数的学习
//派遣处理例程的介绍: //IPR简介: //IRP全称(I/O Request Package),即输入输出请求包.他是windows驱动的重要概念,用户模式下所有对驱动程序的I/O请求,全部由操 ...
- Linux配置yum源(本地源和网络源)
目录 一:配置本地yum源 二:配置网络yum源 更新源可以获取最新的软件信息,以更新您的系统 Redhat7配置源 YUM(Yellow dog Updater Modified): yum是Re ...
- 010 Editor体验
源代码的我们现在拥有各式各样的IDE和编辑器可以去查看,但二进制文件对于大多数软件只能做到显示16进制,而不能按照文件类型的格式去显示.今天我们就用dex文件让010 show. 安装软件: http ...