当前位置 : IT培训网 > IT培训 > 交流分享 > Python基础学习之字符串认知与应用

Python基础学习之字符串认知与应用

时间:2019-08-21 16:31:35  来源:编程网  作者:IT培训网  已有:名学员访问该课程
len:全写是length,是计算容量的函数;例如a = "1234", len(a)=4 如果是中文字符,比如a = "哈", len(a)=3, 那么怎么显示正确的数目呢? (在python3中不存在这个问题)

Python基础学习之字符串认知与应用_www.itpxw.cn

一 . len()

len:全写是length,是计算容量的函数;例如a = "1234", len(a)=4

如果是中文字符,比如a = "哈", len(a)=3, 那么怎么显示正确的数目呢? (在python3中不存在这个问题)

方法一:

在中文字符前加u 例如:a = u"哈" ,len(a)值为1

方法二:

a ="哈哈"

g = a.decode('utf-8')

print len(g)值为2

也可以直接写成 a = "哈哈".decode('utf-8'), 其实最好是a.decode('utf-8')

注意:

就是在脚本中标明#coding=utf-8,len的值还是按ascii码来计算

比如

#coding=utf-8

d = "中文"

print len(d)

执行python test.py的值为6

二.转义符让文本更好处理

要转义的字符前面加个反斜杠

三. 字符串前面跟着的小尾巴到底是什么东西

例如:print r"\n" 其中的字母 r 表示不对 斜线 进行转义,输出为 \n

四. 访问子字符串

成员有是有序排列的,可以通过下标偏移量访问到它的一个或者多个成员

a = "abcd"

print a[0] 第一个字符

print a[-1] 最后一个字符,也可以是print a[len(a)-1]

a[0: ] 输出为abcd

a[0:1] 输出为a

a[0:2] 输出为ab

a[1:3] 输出为bc 注意第一项不是0,那么输出项是从a[1]开始的3-1位,并不会输出a[3]

a[:-1] 输出为abc

五. 替换字符串--replace()方法

a = "abc"

a.replace('a','hh')

'hhbc'

但是此时print a,输出还是abc,说明replace()并不会改变原变量值,如果想修改原值,可以重新赋值,比如

a = a.replace("a","his"),输出为hisbc

六.查找字符串--find()方法

a.find("hong") 如果找到了字符串"hong"会返回一个整型,这个数值是a字符串对象hong第一个字母"h"的下标 ,如果找不到"hong",会返回-1

如果有多个hong,怎么指定某一个hong呢,例如

a = "hong my name is hong"

此时用a.find("hong") 输出结果会是0,就是从第0个字符开始的就是hong,怎么找后面的那个hong呢?

a.find("is") 输出为13

a.find("hong",13)就会输出is后面的hong了,注意用help(a.find)文档

七. 字符串拼接

1.直接用加号来拼接,太耗资源,超级丑陋之千万别用。

2.可选方案之字符串模板

用%s....%来拼接:%s表示要插入字符串,叫做占位符;%后面的字符表示要插入字符串的内容

占位符通常有2种,%s:字符串的占位符, %d:数字的占位符。

例如

1) print "my name is hong, %s" % "i am 18"

2) print "my name is %s %s" % ("hong", "ten years old")

3) print "my name is hong, i am %d" % 18

4)print "this is a %s %s" % (4,10),输出为this is a 4 10. 也就是说可以强制把整型转为字符串,小括号里的数据要按顺序写

3.优秀的拼接方案之使用join(),这种方法在参数是变量的情况比较好用

>>> a = "a"

>>> b = "bcd"

>>> c = "12cd"

>>> "".join([a,b,c])

'abcd12cd'

用 [] 把abc变成一个list,才能用join()进行拼接,直接用join(a,b,c)报错,因为join()函数只能有一个参数

注意:

join()函数基本语法: 'sep'.join(seq),表示以sep为分隔符,将seq所有的元素合并成一个新的字符串

sep表示分隔符,可以为空;

seq表示要连接的元素序列,字符串,元组或者字典,也就是说上面的"".join([a,b,c])也可以把参数写成元组 "".join((a,b,c))

4. format格式化方式

b = "this is {} {}" .format ("my","apple")为什么要用format

print b

输出为 this is my apple

如果想调整一下输出参数的顺序,那么可以这样写

b = "this is {1} {0} .format ("my","apple"),那么输出结果就是

this is apple my

需要注意的是参数从0开始

算参数位置太麻烦,有时候还出错,来种更人性化的方法

b = "this is {whose} {fruit}" .format (fruit="apple",whose="my")

print b

输出为this is my apple

5. 还有一个方法,字典来了。

a = "this is %(whose)s %(fruit)s" % {'whose':'my','fruit':'apple'}

其中whose:my, whose是key位,my是word位

顶一下
(0)
0%
踩一下
(0)
0%

IT培训0元试听 每期开班座位有限.0元试听抢座开始! IT培训0元试听

  • 姓名 : *
  • 电话 : *
  • QQ : *
  • 留言 :
  • 验证码 : 看不清?点击更换请输入正确的验证码

在线咨询在线咨询

温馨提示 : 请保持手机畅通,咨询老师为您
提供专属一对一报名服务。

------分隔线----------------------------
------分隔线----------------------------

推荐内容