python基础系列一:字符串
Posted lisonglin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python基础系列一:字符串相关的知识,希望对你有一定的参考价值。
1.常用数据类型
int 整型
string 字符串
boolean 布尔型
list 列表
dict 字典
tuple 元组
2.可变数据类型:list,dict
不可变数据类型:int,string,tuple
----可变数据类型----
>>> a
[1, 2, 3, 4]
>>> id(a)----内存分配地址不变
140488352611576
>>> a.append(5)
>>> a
[1, 2, 3, 4, 5]
>>> id(a)
140488352611576
----不能强制进行类型转换----
>>> a="111aaa"
>>> a
‘111aaa‘
>>> int(a)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: ‘111aaa‘
>>> a=‘111‘ --带引号是字符串赋值
>>> a
‘111‘
>>> type(a)
<type ‘str‘>
>>> int(a) --强制转换为整型输出
111
>>> a --再次打印a的时候,还是字符串
‘111‘
>>> type(a)
<type ‘str‘>
----boolean数据类型----
>>> print 1==1 --两个等于号是比较,比较值是否相等,比较数据类型是否一致
True
>>> print 1=="1" --类型不一样
False
>>> bool(1==1) --布尔函数,比较判断
True
>>> a=bool(1==1)
>>> a
True
字符串:用双引号括起来
子字符串:a="abc123" b="abc" b就是a的子字符串
----计算中文字符串长度----
>>> a="12" #长度2个字节
>>> len(a)
2
>>> a="李晶" #长度6个字节,每个中文字符占3个字节
>>> len(a)
6
>>> a=u"李晶" #转换为unicode码,长度就变为两个字节
>>> len(a)
2
>>> a="李晶"
>>> g=a.decode(‘utf-8‘) #第二中转换方式
>>> len(g)
2
>>> len(a)
6
>>>
-----转义符----
>>> a="adsf"" #想要输出adsf" 报错
File "<stdin>", line 1
a="adsf""
^
SyntaxError: EOL while scanning string literal
>>>
>>> a = "asdf"" #加转义符 成功输出
>>> print a
asdf"
>>> print "ab
" #输出ab后换行
ab
>>> print " " #输出换行
>>> print r"
" #输出
,因为前面加了r,强制输出原来的字符串
>>>
----字符串访问和查找----
类似于列表的方式,以切片的方法访问
>>> a="abcd" #定义字符串
>>> a[0] #切片位置从0开始
‘a‘
>>> print a[0],a[2] #打印第一个和第三个
a c
>>> print a[0:2] #打印第一个到第二个,最后位置是切片的最大数减一
ab
>>> print a[0:3]
abc
>>> print a[0:]
abcd
>>> print a[-1] #打印最后一个
d
>>> print a[len(a)-1]
d
>>> print a[:-1]
abc
----字符串连接----
>>> a="abc"
>>> b="cde"
>>> print a+b #最直接也是最浪费资源的方法,最好不要用,会产生临时的变量承接两个相加的结果
abccde
>>> print "hello abc %s fg" % b #占位符的方式,%s是字符串,%d是整型
hello abc cde fg
>>> ",".join([a,b]) #用函数最简洁
‘abc,cde‘
>>> "".join([a,b])
‘abccde‘
>>> b="+" #将加号赋值给变量b
>>> a=["1","2"]
>>> b.join(a) #把加号作为字符串连接
‘1+2‘
>>> c=b.join(a)
>>> print c
1+2
>>> a="my name {1} {0}" .format("lisonglin","is") #format方法的简单用法,花括号里面的数值是字符串的位置
>>> a
‘my name is lisonglin‘
>>> a="my name is {name},age is {age}" .format(name="lisonglin",age="35") #用变量来替代,更直接
>>> print a
my name is lisonglin,age is 35
----字符串的引号----
#脚本如下:
print "abc"
print ‘abc‘
print "abc‘" #要输出单引号,需要双引号括起来
print ‘abc"‘ #要输出双引号,需要单引号括起来
print """ #多行注释用三个双引号
@"copy"
@‘right‘
"""
#执行结果如下:
[[email protected] ~]# python 1.py
abc
abc
abc‘
abc"
@"copy"
@‘right‘
----字符串修改----
>>> a="abc"
>>> a.replace("b","B") #使用replace函数修改
‘aBc‘
>>> a #字符串本身不会被修改,不可变数据类型
‘abc‘
>>> b=a.replace("b","c") #需要把修改的字符串,重新赋值给b,完成修改
>>> a
‘abc‘
>>> b
‘acc‘
以上是关于python基础系列一:字符串的主要内容,如果未能解决你的问题,请参考以下文章
Python全栈自动化系列之Python编程基础(基本数据类型)