字符串类型

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

索引(下标)

我们在日常生活中会遇到很多类似的情况,例如吃饭排队叫号,在学校时会有学号,工作时会有工号,这些就是一种能保证唯一准确的手段,在计算机中也是一样,它就叫索引,也叫下标,
注意:索引都是从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. 牛客网Java刷题知识点之进程和线程的区别

    不多说,直接上干货! https://www.nowcoder.com/ta/review-java/review?tpId=31&tqId=21079&query=&asc= ...

  2. linux上的shutdown命令

    定时关机:shutdown -r now 立刻重新开机 shutdown -h now 立刻关机 shutdown -k now 'Hey! Go away! now....' 发出警告讯息, 但没有 ...

  3. Shell笔试题3

    1.查找当前目录中所有大于500M的文件,把这些文件名写到一个文本文件中,并统计其个数.find ./ -size +500M -type f | tee file_list | wc -l 2.在目 ...

  4. Docker | 第七章:Docker Compose服务编排介绍及使用

    前言 前面章节,我们学习了如何构建自己的镜像文件,如何保存自己的镜像文件.大多都是一个镜像启动.当一个系统需要多个子系统进行配合时,若每个子系统也就是镜像需要一个个手动启动和停止的话,那估计实施人员也 ...

  5. Day2下午

    虽然成绩不太好,但有点进入状态了.期望200 实际160,忘记加判断了. T1 洗澡[问题描述]你是能看到第一题的friends 呢.——hja洗澡的地方,有一段括号序列,将一个括号修改一次需要1的代 ...

  6. ElasticSearch搜索demo

    ElasticSearch版本:1.4.1 分词:ik jdk:1.7.67 开发工具:Eclipse 系统:win7 忙活了几天,使用ES做成,就是页面有点丑,demo页面如下: 1.搜索主页 2. ...

  7. 美团Java面试154道题

    Java集合22题 ArrayList 和 Vector 的区别.ArrayList与Vector区别 说说 ArrayList,Vector, LinkedList 的存储性能和特性.ArrayLi ...

  8. hibernate笔记4--qbc查询

    Criteria:是一种完全面向对象的查询方式,Criteria查询也叫做qbc查询(query by Criteria).         查询全部,分页查询,统计查询,条件查询,排序查询,离线查询 ...

  9. Notification高级技巧

    观察Notification这个类,你会发现里面还有很多我们没有使用过的属性.先来看看sound这个属性吧,它可以在通知发出的时候播放一段音频,这样就能够更好地告知用户有通知到来.sound 这个属性 ...

  10. meterpreter > run post/windows/capture/keylog_recorder

    meterpreter > migrate 1548[*] Migrating to 1548...[*] Migration completed successfully.meterprete ...