字符串

1、形式

  单引号括起来的字符串:'hello'

  双引号括起来的字符串:"Hello"

  三引号括起来的字符串:'''hello'''(三单引号),"""hello"""(三双引号)

  三引号括起来的字符串可以换行

2、下标(索引)

  从左往右,下标从0开始;

  从右往右,下标从-1开始

1 a = 'abc'
2 print(a[0]) ## 输出结果: a
3 print(a[-1]) ## 输出结果: c

3、切片-- 相当于字符串的截取

  语法:字符串[起始索引:结束索引:步长]  --- 不包含结束索引的字符

     列表、元祖、字符串都有切片操作!!

  格式:     info[开始索引:结束索引]
      不包括结束索引的字符

 info = 'life is short, you need pyhton '
print(info[0:4])
print(info[5:]) ## 5到结束字符
print(info[:10]) # 开始到10 位置
print(info[1:10:2]) ## 2表示步长
print(info[::2]) ##隔一个取一个
print(info[::-1]) ## 倒序!!!

字符串的常用操作:

  无论对字符串进行怎样的操作,原字符串一定是不变的!!一般是生成了新的字符串

  字符串的不可变性 !!

  1、strip()   ----  去除空格

 a = ' abc def '
print(a.strip()) ## 去除全部空格
print(a.lstrip()) ## 去除左边的空格
print(a.rstrip()) ## 去除右边的空格

  2、upper、lower --- 大小写转换

 b = 'abCDE'
print(a.lower()) ## 输出结果是:abcde
print(a.upper()) ## 输出的结果:ABCDE ##判断是否是大写或小写:
isupper()和islower()

  3、endswith()    startswith() --- 判断以xx开头或者以xx结尾

 b= 'ASD_234'
print(b.endswith(‘234’)) ##输出结果是: True
print(b.startswith('AS')) ##输出结果是:True

  4、join()   字符串的拼接

 print(''.join(['hello','world'])) ##输出的结果是:helloworld

 ##更加常用的拼接方法:
a = 'abc'
b = 'efgr'
print(a+b) ## 输出的结果是:abcefgr

  5、各种常用判断数字、字母、空格

## 判断是否都是数字
print(''.isdigit())
print(''.isdecimal())
print(''.isnumeric()) ## 判断是否是空格
print(' '.isapace()) ## True ## 判断是否都是字符组成
print('abcdf'.isalpha()) ## 判断是否是有数字和字符组成
print('fff123'.isalnum()) 总结:以上的几个方法都可以配合for循环,遍历之后来一个个判断所有字符的情况,用于统计字符的个数啥的

  6、split() ----- 分割

  分割后的结果不包含分割符,结果返回一个列表

 name = 'I love you'
print(name.split(' ')) ## 输出的结果是:['I', 'love', 'you'] ## 若是分割字符不存在,就直接将字符串整体给列表
print(name.split('x')) ##输出的结果是:['I love you']
 小例子:假设输入:10*20  求计算结果
shuzi = '10-20'
if shuzi.find('*') !=-1: ##找到了*
l = shuzi.split('*') ## 分割,返回的结果是:l = ['10'.'20']
v = int(l[0])*int(l[1])
print(V) ##输出的结果是:200

  还有一个分割:splitlines()--- 按照换行符进行分割!!

  7、replace()  ----- 替换

    替换之后,生成了一个新的字符串,原来的字符串不变

 ## 默认替换所有指定字符
info = 'life is shorts'
print(info.replace('is',was)) ##输出:life was shorts ## 指定替换次数
print(info.replace('s','S',1)) ##输出:life is Shorts

  8、find()  ----- 查找

  如果存在,就返回第一个字符的索引;

  如果不存在,就返回-1

 info = 'life is short, you need pyhton '
print(info.find('is'))
print(info.find('iii'))
print(info.find('is',10,20)) ##指定范围 ##index() 也是查找,若是不存在,会报异常
print(info.index('sss'))
##指定范围
print(info.index('is',4,20)) # ##获取指定的内容出现的次数
# ## 不存在返回0次
## 也可以指定范围
print(info.count('s'))
print(info.count('s',10,15))

  8、format() ----- 格式化字符串

    在format函数中,使用{}充当格式化操作符

 print('{},{}'.format('chuhao',20))        ##chuhao,20
print('{1},{0}'.format('chuhao',20)) ##20,chuhao
print('{1},{0},{1}'.format('chuhao',20)) ##20,chuhao,20

9、capitalize:整个字符串的首字母大写

info = 'life is short' print(info.capitalize())##输出:Life is short

4、字符串的编码

## python3 中使用的是unicode编码
## 编码,相当由于字符的一个编号 ## 常用的编码
## ASCII 字符占1个字节 0--127
## unicode 字符占2个字节 0--65535
## UTF-8 英文占1个字节,中文占3个字节
## GB2312 国标 -- 简体中文 中文占2个字节
## GBK 对gb2312的扩展,扩展繁体-- Windows GBK编码
 ## 转化为指定编码的字节
## unicode --->utf-8
print('中国'.encode('UTF-8'))
## b'\xe4\xb8\xad\xe6\x96\x87'
print('中国'.encode('GBK'))
## b'\xd6\xd0\xb9\xfa' print('abc'.encode('GBK'))
### b'abc' ##将字节根据指定编码,转为unicode字符串
print(b'\xe4\xb8\xad\xe5\x9b\xbd'.decode('UTF-8')) ##将字符串表示为uncode
print(u'abc')

python基础--字符串的更多相关文章

  1. python基础——字符串和编码

    python基础——字符串和编码 字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题. 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用 ...

  2. Python 基础-> 字符串,数字,变量

    Python 基础:字符串,数字,变量 1. 字符串 (信息的一种表达方式) a. 使用引号创建字符串 b. 单引号,双引号,三引号: ', ", ''', ""&quo ...

  3. Python基础-字符串格式化_百分号方式_format方式

    Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...

  4. Python 基础 字符串拼接 + if while for循环

    注释单行注释 #多行注释 ''' 三个单引号或者三个双引号 """ ''' 用三引号引住可以多行赋值 用户交互 input 字符串拼接 +  ""%( ...

  5. Python基础——字符串

    Python版本:3.6.2  操作系统:Windows  作者:SmallWZQ 在Python中,字符串也是一种数据类型.相比其它数据类型,字符串算是比较复杂的.为何呢?因为字符串不仅包含英文字母 ...

  6. python基础-字符串(6)

    一.引言 当打来浏览器登录某些网站的时候,需要输入密码,浏览器把密码传送到服务器后,服务器会对密码进行验证,其验证过程是把之前保存的密码与本次传递过去的密码进行对比,如果相等,那么就认为密码正确,否则 ...

  7. python基础——字符串、编码、格式化

    1.三种编码:ascii Unicode utf8 2.字符串和编码数字的两个函数:ord(字符转数字ord(‘A’)=65)和 chr(数字转字符chr(65)=A) 3.bytes存储编码,记住两 ...

  8. [Python] Python基础字符串

    Python的语法采用缩进的方式,一般使用四个空格,并且是大小写敏感的 字符编码 计算机只能处理数字,如果要处理文本,必须先把文本转换成数字才能处理 采用8个比特(bit)作为一个字节(byte) 一 ...

  9. Python基础(字符串和编码)

    字符编码 我们已经讲过了,字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题. 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用8个比特 ...

  10. 六 Python基础 字符串和编码

    字符编码 我们已经讲过了,字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题. 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用8个比特 ...

随机推荐

  1. 值得收藏:一份非常完整的 MySQL 规范

    一.数据库命令规范 所有数据库对象名称必须使用小写字母并用下划线分割. 所有数据库对象名称禁止使用 MySQL 保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来). 数据库对象的命名要能 ...

  2. Maven项目下servlet异常

    今天新建了一个maven项目,导入包的时候红线报错,提示程序包不存在 在网上找了几个方法试过都无效,想起idea自带提示功能,点击红色报错的地方 同时按下Alt+Enter键,选择add maven ...

  3. JxBrowser之二:常用函数addLoadListener

    1.常用函数addLoadListener,包含对页面加载状态的多种监控回调. browser.addLoadListener(new LoadAdapter() { @Override public ...

  4. 《Practical Vim》第八章:利用动作命令在文档中移动

    面向单词的移动 定义: Vim 提供了面向单词的动作命令,用于将光标正向/反向移动一个单词; 功能 命令 正向移动到下一单词开头 w 反向移动到上一单词的开头 b 正向移动到下一单词(当前单词)的结尾 ...

  5. JVM垃圾回收(一)- 什么是垃圾回收

    什么是垃圾回收? 垃圾回收是追踪所有正在被使用的对象,并标注剩余的为garbage.这里我们先从JVM的GC是如何实现的说起. 手动内存管理 在开始介绍垃圾回收之前,我们先复习一下手动内存管理.它是指 ...

  6. java接口入参模板化,适用于企业化服务远程调度模板化的场景,接口入参实现高度可配置化

    需求:远程服务接口模板化配置提供接入服务 模板接口分为三个模块:功能路由.参数校验.模板入库 路由:这里的实现方式很简单,就是根据业务标识找到对应的处理方法 参数校验: 参数校验这步涉及模板和校验类两 ...

  7. 解决Android studio生成H文件时报找不到类文件错误

    今天整理思路时觉得在native直接调用java的方法显示这个办法挺不错 于是就用到了生成H文件 可能我的编译环境和他们的不一样 网上的教程如下 javah -d ../jni com.jm.prom ...

  8. 使用mint-ui中弹框组件与原生弹框阻止父页面不滑动方法

    1,使用mint-ui框架中<mt-popup></mt-popup>,在组件中加入 lockScroll="true" 阻止父页面不滑动. 2,原生弹框中 ...

  9. 如何设置IntelliJ IDEA智能感知支持Jsp内置对象

    一.问题: 在IntelliJ IDEA 新建jsp页面,想通过内置对象获取查询参数,比如:request.getParameter("id"),虽然手动输入后能够运行成功,但是智 ...

  10. MVC模式和MVP模式的区别

    MVC模式: 1. MVC的所有通信都是单向的. 2. view传送指令到controller(用户也可以直接将指令传到controller). 3. controller完成业务逻辑后要求model ...