一、引言

当打来浏览器登录某些网站的时候,需要输入密码,浏览器把密码传送到服务器后,服务器会对密码进行验证,其验证过程是把之前保存的密码与本次传递过去的密码进行对比,如果相等,那么就认为密码正确,否则就认为不对;服务器既然想要存储这些密码可以用数据库(比如MySQL),当然为了简单起见,咱们可以先找个变量把密码存储起来即可;那么怎样存储带有字母的密码呢?答案是:字符串

二、python中字符串的格式

变量名 = “字符串内容” 或者 变量名 = ‘字符串内容’

在python中字符串使用单引号或者双引号都可以

name1 = "Se7eN_HOU"
name2 = 'Se7eN_HOU'
print(name1)
print(name2)

输出结果都为:Se7eN_HOU

三、字符串的输出

除了上面直接以变量名形式输出之外,字符串还可以使用%s格式化输出符的形式进行输出。

 name1 = "Se7eN_HOU"
name2 = 'Se7eN_HOU'
print(name1)
print(name2)
print("%s"%name1)

其中第五行代码执行结果依然也是“Se7eN_HOU”

四、字符串的输入

之前在学习input的时候,通过它能够完成从键盘获取数据,然后保存到指定的变量中;

注意:input获取的数据,都以字符串的方式进行保存,即使输入的是数字,那么也是以字符串方式保存

userName = input("请输入用户名:")
print("用户名为:%s"%userName)

运行结果为:

请输入用户名:asd
用户名为:asd

五、字符串中的下标索引

所谓下标,就是编号,就好比超市中的存储柜的编号,通过这个编号就能找到相应的存储空间

在字符串中可以理解为有多个字母按照一定顺序组合而成,第一个字母的下表索引为0

name = “abcdef” 为例:

如果想取出部分字符,那么可以通过下标的方法,(注意python中下标从 0 开始)

name = "Se7eN_HOU"
print(name[0])
print(name[1])
print(name[2])

运行结果为:S,e,7

六、字符串的截取

字符串截取的语法:[起始:结束:步长]

注意:选取的区间属于左闭右开型,即从”起始”位开始,到”结束”位的前一位结束(不包含结束位本身)。

name = "abcdef"
print(name[0:2])

打印结果为:ab,表示的意思是从下标为0的字母开始截取,截取到下标为2的字母,但不包含下标为2的,所以就是下标为0和1的两个字母,后面的步数不写,默认是1。

name = "abcdef"
print(name[2:5:2])

打印结果为:ce,表示从下标为2的字符的字母开始截取,包含下标为2的字母,截取到下标为5的字母,但不包含下标为5的字母终止,每隔2个字母截取一个,步数为2,所以结果是ce

注意:这里字符串的截取时候的步长可以是负数,这样就是从后往前截取

 name = "abcdef"
print(name[2:5:2])
print(name[5::-1])

代码第3行执行结果为“fedcba”,意思是从下表是5的字母开始截取,截取到哪里没有写,就默认一直截取,知道没有字母为止,步长那里设置为-1,表示从后往前截取,所以结果为“fedcba”

七、字符串的常见操作

以下所有字符串的操作都是使用 Str = “Hello world I am Se7eN_HOU” 实例:

1、find:检测某字符串是否包含在Str中,如果是返回开始的索引值,否则返回-1

Str = "Hello world I am Se7eN_HOU"
num = Str.find("world")
print(num)

输出结果为6:即表示str中包含“world”,并且在下标为6的地方。注意,如果Str字符串中有两个“world”只会显示第一个的位置,后面的不会显示。如果Str中没有“world”字符串会返回-1

2、count:返回某字符串在原始字符串的开始和结束之间出现的次数

Str = "Hello world I am Se7eN_HOU"
num = Str.count("e")
print(num)

打印结果为3,即字母“e”在Str中出现了3次

3、replace:

  • replace(原始字符串,替换的字符串,替换次数)
  • 替换完了之后会返回一个新的字符串
  • 如果不指定替换次数,默认全部替换。
Str = "Hello world I am Se7eN_HOU"
STR1 = Str.replace("e","E")
STR2 = Str.replace("e","E",2)
print(Str)
print(STR1)
print(STR2)
Hello world I am Se7eN_HOU
HEllo world I am SE7EN_HOU
HEllo world I am SE7eN_HOU

4、常用函数介绍

函数 功能
len() 返回当前字符串的长度
lower() 返回字符串中所有的大写字母转为小写字母的字符串
upper() 返回字符串中所有的小写字母转为大写字母的字符串
swapcase() 返回一个字符串大小写反转的字符串
capitalize() 返回一个首字母大写的字符串
title() 返回一个每个单词首字母大写的字符串
center(width[,fillchar]) 返回一个指定宽度的居中字符串,fillchar为填充字符
ljust(width[,fillchar]) 返回一个指定宽度的左对齐字符串,fillchar为填充字符。默认使用空格填充
rjust(width[,fillchar]) 返回一个指定宽度的左对齐字符串,fillchar为填充字符。默认使用空格填充
strip() 截掉字符串左右两侧指定的字符串,则默认删除空白符(包括’\n’,’\r’,’\t’,’ ‘)
split(str = ”,num=string.count(str)) 以str为分割符切片string,如果num有指定值,则仅分割num个子字符串str–分割符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。num–分割次数
join(seq) 以指定字符串作为分隔符,将seq中的所有元素合并成为一个新的字符串
startswith(str1,strat = 0, end = len(str)) 在给定的范围内判断字符串是否以给定的字符串开头,如果没有指定范围,默认整个字符串
endswith(str1,strat = 0, end = len(str)) 在给定的范围内判断字符串是否以给定的字符串结尾,如果没有指定范围,默认整个字符串
zfill(width) 返回一个长度为width字符串,原字符串右对齐,前面补0

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

  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基础——字符串、编码、格式化

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

  7. [Python] Python基础字符串

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

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

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

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

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

随机推荐

  1. 线程池ThreadPoolExecutor源码分析

    在阿里编程规约中关于线程池强制了两点,如下: [强制]线程资源必须通过线程池提供,不允许在应用中自行显式创建线程.说明:使用线程池的好处是减少在创建和销毁线程上所消耗的时间以及系统资源的开销,解决资源 ...

  2. Meanshift均值漂移算法

      通俗理解Meanshift均值漂移算法  Meanshift车手?? 漂移?? 秋名山???   不,不,他是一组算法,  今天我就带大家来了解一下机器学习中的Meanshift均值漂移. Mea ...

  3. php 与 memcache 笔记

    一:安装 Memcache是什么Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力.它 ...

  4. 如何安装ubuntu系统

    https://www.cnblogs.com/Chinasf/archive/2010/05/06/1728840.html    [Ubuntu 下挂ISO到虚拟光驱的方法] 各种方法参考如下论坛 ...

  5. Cbv源码简单分析图

    重点:cbv源码的简单分析(有后续)

  6. nginx的锁

    一.原理 nginx的锁是基于共享内存实现的,这点跟redis中利用一个存储(也就是一个键值对)来实现锁的原理是一致的,每一项操作通过检查锁对象的lock域是否为0,来判断能否获取锁并尝试获取锁. 二 ...

  7. vue webpack打包后 iconfont引入路径不对

    vue webpack打包后 iconfont引入路径不对 { test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, loader: 'url-loader', option ...

  8. bzoj2730(割点+分类讨论)

    把割点删去后,剩下的联通块个数就是答案,方案数就是siz乘一起,但要讨论一些特殊情况,没有割点时答案直接算,一个联通块如果连接多个割点是不需算入答案的: #include<iostream> ...

  9. nmap 介绍

    原文地址:http://drops.wooyun.org/tips/2002 原文地址:http://infotechbits.wordpress.com/2014/05/04/introductio ...

  10. Connect To Ubuntu 16.04 / 17.10 / 18.04 Desktop Via Remote Desktop Connection (RDP) With Xrdp

    [1] https://websiteforstudents.com/connect-to-ubuntu-16-04-17-10-18-04-desktop-via-remote-desktop-co ...