字符串类型

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

索引(下标)

我们在日常生活中会遇到很多类似的情况,例如吃饭排队叫号,在学校时会有学号,工作时会有工号,这些就是一种能保证唯一准确的手段,在计算机中也是一样,它就叫索引,也叫下标,
注意:索引都是从0开始,只有有序的对象才会有索引

切片

只取字符串中某一部分的,就要切片,切片特性:顾头不顾尾
 
name = 'alisa'
print(name[:])
#运行结果:ali 只会取    的下标对应的值

步长

步长是指你取值的间隔长度,例如:
name = 'alisa'
print(name[0:5:2])#隔1个值取一个,若不写,默认1
#运行结果:aia
注意:字符串中可以倒着找

name = 'alisa'
print(name[-1:-5:-1])
#如果你是倒着数,那步长就是负数所以步长是可以控制方向的
#运行结果:asil

字符串的方法

s1 = s.capitalize() 首字母大写
s2 = s.upper() 全部大写
s3 = s.lower() 全部小写
s4 = name.title() 首字母大写,有特殊符号分割的也会大写
s.endswith('x')以什么开始
s.startswith('a') 以什么结尾
s.find('p') 通过元素查找下标,查找到没有的返回-1
s.index('p') 通过元素查找下标,若查找不到就报错
s.format 格式化输出
print('_',join(s))每个s的元素都会加个下划线
s.split('t')以括号里面的来进行分割
s.rstrip() 删除末尾空白
s.lstrip() 删除开头空白
s.strip() 删除两端空格,还会有换行#默认是删除空格\n等,若输入内容,则是清除内容
若想替换所有空格,可以用replace
s.replace('a','s',count) 替换, a 是被 s 替换的,第三个是替换的次数,默认是全部都替换
s.swapcase()括号不用内容,做到大小写转换,把原有字母进行大小写转换
s.isdigit() 判断是不是数字(判断我字符串里的内容是不是纯数字)
s.isalpha() 判断是不是汉字和字母
s.isupper()判断是否是大写
s.islower()判断是否是小写
s.isalnum()判断是不是字母和数字

字符串的定义

1单引号方式

name = 'alisa'
2双引号方式
name = "alisa"
3三引号方式(三个单引号 和三个双引号都可以)
主要用来换行
'''
?能提笔安天下,
武能上?定乾坤.
?存谋略何?胜,
古今英雄唯是君.
'''
4 单双引号混合使用
若字符串内有单引号,那最外层必须用双引号,反之亦然
str1 = "I'm alisa,what's your name?"
str2 = '我选的是"A",你呢'
若字符串内既有双引,又有单引号,则外层用三引号
str3 ='''It's "C",I have "A" and "B"。'''
5字符串的拼接
字符串可以进行加法和乘法
加法(只能是字符串之间进行,不能是不同类型的)

name = 'alisa'
name1 = 'hello,'
print(name1 + name)
运行结果:hello,alisa


乘法(字符串与数字相乘):把原来的字符串进行了10次展示

name = 'alisa'
print(name*10)
运行结果:
alisaalisaalisaalisaalisaalisaalisaalisaalisaalisa

符串的格式化

格式化输出常用参数:
%s:非常强大,可以接收任意类型的数据并转化成str类型输出。
%c:整数:将数字转换成其ASCII/unicode对应的值,(py27则只支持0-255)。
%o:将整数转换成八进制表示。
%x:将整数转换成十六进制表示。
%d:将整数、浮点数转换成 十 进制表示。
%e:将整数、浮点数转换成科学计数法(小写e)。
%E:将整数、浮点数转换成科学计数法(大写E)。
%f: 将整数、浮点数转换成浮点数表示(默认保留小数点后6位)。
%g:自动调整将整数、浮点数转换成 浮点型或科学计数法表示(超过6位数用科学计数 法,如果是科学计数则是e;)。
%G:自动调整将整数、浮点数转换成 浮点型或科学计数法表示(超过6位数用科学计数 法,如果是科学计数则是E;)。
%:当字符串中存在格式化标志时,需要用 %%表示一个百分号 注:Python中百分号格式化是不存在自动将整数转换成二进制表示的方式。
示例1

name = input("请输入姓名")
age = input("请输入年龄")
print('你认识的那个%s,今天是%s了吗'%(name,age))
示例2
name = input("请输入姓名")
age = input("请输入年龄")
print(f'你认识的那个{name},今天是{age}了吗')

示例3

name = input("请输入姓名")
age = input("请输入年龄")
print(("你认识的那个{},今天是{}了吗").format(name, age))

字符串编码

ascii 美国 256 没有中文 
一个字节  8位   
gbk 中国  
中文 2字节  16位
英文 1字节  8位
unicode 万国码 
2个字节     16位
4个字节     32位
utf-8 可变编码   
英文 1字节  8位
欧洲 2字节  16位
亚洲 3字节  24位

 
 
 
 
 
 
 

Python之路-基础数据类型之字符串的更多相关文章

  1. Python之路-基础数据类型之列表 元组

    列表的定义 列表是Python基础数据类型之一,它是以[ ]括起来, 每个元素用' , '隔开而且可以存放各种数据类型: lst = [1,2,'你好','num'] 列表的索引和切片 与字符串类似, ...

  2. 百万年薪python之路 -- 基础数据类型的补充

    基础数据类型的补充 str: 首字母大写 name = 'alexdasx' new_name = name.capitalize() print(new_name) 通过元素查找下标 从左到右 只查 ...

  3. Python之路-基础数据类型之字典 集合

    字典的定义-dict 字典(dict)是python中唯⼀的⼀个映射类型.他是以{ }括起来的键值对组成,字典是无序的,key是不可修改的.dic = {1:'好',2:'美',3:'啊'} 字典的操 ...

  4. 百万年薪python之路 -- 基础数据类型的补充练习

    1.看代码写结果 v1 = [1,2,3,4,5] v2 = [v1,v1,v1] v1.append(6) print(v1) print(v2) [1,2,3,4,5,6] [[1,2,3,4,5 ...

  5. python之路--基础数据类型的补充与深浅copy

    一 . join的用法 lst =['吴彦祖','谢霆锋','刘德华'] s = '_'.join(lst) print(s) # 吴彦祖_谢霆锋_刘德华 # join() "*" ...

  6. Python基础数据类型之字符串

    Python基础数据类型之字符串 一.Python如何创建字符串 在python中用引号将一些文本包起来就构成了字符串(引号可以是单引号.双引号.单三引号,双三引号,它们是完全相同的) >> ...

  7. Python入门篇-基础数据类型之整型(int),字符串(str),字节(bytes),列表(list)和切片(slice)

    Python入门篇-基础数据类型之整型(int),字符串(str),字节(bytes),列表(list)和切片(slice) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Py ...

  8. python之路:数据类型初识

    python开发之路:数据类型初识 数据类型非常重要.不过我这么说吧,他不重要我还讲个屁? 好,既然有人对数据类型不了解,我就讲一讲吧.反正这东西不需要什么python代码. 数据类型我讲的很死板.. ...

  9. python变量与基础数据类型

    一.什么是变量 变量是什么?  变量:把程序运行的中间结果临时的存在内存里,以便后续的代码调用.在python中一切都是变量. 1.python变量命名的要求 1,必须有数字,字母,下划线任意组合. ...

随机推荐

  1. sql server sql语句

    添加联合唯一索引 create unique index 索引名 on 表名(列名1,列名2……)

  2. Windows10 zip安装 MySQL8.0.12

    其实问题不大,就是win10永远有点奇葩的地方. 下载,解压,命名什么的我就不说了. 一 环境变量方便cmd使用mysql MYSQL_HOME = xxx // 就是安装的路径 Path = %MY ...

  3. JS文本框输入限制

    1上面的文本框只能输入数字代码(小数点也不能输入): CODE: <input onkeyup="this.value=this.value.replace(/\D/g,'')&quo ...

  4. idea 清屏(控制台)快捷键

    eclipse清屏快捷键为鼠标右键+R 而在idea中默认并没有清屏console的快捷键 所以需要我们自行设置: 1,ctrl+alt+s打开settings 2,找到keymap 3,搜索 cle ...

  5. <script>, <script async>, <script defer> 三种标签的区别

    <script>, <script async>, <script defer> 三种标签的区别 <script>标签 阻塞html parsing 脚 ...

  6. 【干货】Html与CSS入门学习笔记12-14【完】

    十二.HTML5标记 现代HTML html5新增的元素:header nav footer aside section article time 这些新增元素使页面结构更清晰,取代<div i ...

  7. 编译64位geos库的经验总结

    作者:朱金灿 来源:http://blog.csdn.net/clever101 使用CMake生成Win64的解决方案后,使用VS2010打开这个解决方案,然后 在"C/C++" ...

  8. (转载)C#线程优先级详解

    计算机中经常会有多个任务同时运行,其中总有一些看起来更紧急,更需要优先完成.比如我们现在有两个任务,一个任务是下载一部电影,另一个任务是检测用户的输入.显然及时响应用户操作应具有更高的优先级,因为我们 ...

  9. centos7 源码编译nginx

    使用configure命令配置编译.它定义了系统的各个方面,包括允许使用 nginx 进行连接处理的方法.最后它创建一个Makefile.该configure命令支持以下参数: --prefix=pa ...

  10. [Jira]启动报错无法删除缓存文件felix-cache的解决方法

    背景: 由于公司机房停电,jira服务器在停电期间需要关机处理,然而待重启启动服务时,jira出现报错,页面报错信息如下: Unable to clean the cache directory: / ...