飞行的猪哼哼

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  1. 布尔运算符可以直接当做1 0 来运算:
    例如:
>>>a=True
               >>>b=3
               >>>a+b
                       4

2同一运算符:is 、 is not
比较地址是不是同一个
==比较值是不是相等。

例如:
>>>a=1000 >>>b=1000 >>>a==b True >>>a is b False

注意:整数缓存问题:
python仅仅将比较小的数进行缓存,范围-5~256,此时用的地址是一样的
例如:>>>a=10 >>>b=10 >>>a is b True

3 字符串的编码:
字符转换成Unicode码:

ord();
>>>ord("A")
65
>>>ord("高")
39640
十进制数转换字符
>>>chr(66)
'B'
>>>ord("淇")
28103

用三个单引号或者三个双引号来创建多行字符串

>>>resume = ''' name ="renshanwen"
company="six"   age=18 lover="tom"'''
>>>print(resume)
name="renshanwen"
company="six"   age=18 lover="tom"

4 转义字符:
\ 续行符
’ 单引号
" 双引号
\n 换行
\t 横向制表符
\r 回车
\ 反斜杠符号

5 字符串的拼接
用+ 直接相连

6 字符串的复制

>>>a = "sxt"*3
>>>a
"sxtsxtsxt"

7 用print打印时每次会出现一个换行符,如果不需要换行,可以用end=""实现末尾添加任何内容。
例如:

print("six",end=" ")
print("six",end="##")
print("six")

运行结果:six six##six

8 控制台上读取字符串:用input()
six six##six

>>> myname = input("请输入名字:")
请输入名字:任善文
>>> myname
'任善文'
>>> 

9 str() 函数:实现数字类型转化成字符串类型

>>> str(5.20)
'5.2'
>>> str(3.14e2)
'314.0'
>>> str(True)
'True'
>>> 

10 如何提取字符??? []提取字符

>>> a='abcdefghigklmnopqistuvwxyz'
>>> a
'abcdefghigklmnopqistuvwxyz'
>>> a[0]
'a'
>>> a[1]
'b'
>>> a[-26]
'a'
>>> 

11 用replace() 实现字符串的替换

>>> b='123456'
>>> b.replace("1","a")
'a23456'

只能替换一个字符
b.replace(“1”,“love”)是不行的。

12 字符串截取

>>> a = "abcdefghigklmn"
>>> a[1:5]       #去下标1到5
'bcde'
>>> a[:]          #取所有的字符
'abcdefghigklmn'
>>> a[1:]
'bcdefghigklmn'
>>> a[:5]
'abcde'
>>> a[1:5:2]     #步长为2
'bd'
>>> a[-3:]
'lmn'
>>> a[0:-3]
'abcdefghigk'
>>> a[0:-3:2]
'acegik'
 >>> a[::-1]
'nmlkgihgfedcba'     #直接将字符串逆序排列
>>> 

13 字符串的切割:split() 和 join() 合并

>>> a = "I LOVE LIJIANCHAO"
>>> a.split()
['I', 'LOVE', 'LIJIANCHAO']
>>> a.split("LOVE")
['I ', ' LIJIANCHAO']
>>> a.split("L")
['I ', 'OVE ', 'IJIANCHAO']
>>> 

join合并的代码:

>>> a=['1','2','3','4','5']
>>> "*".join(a)
'1*2*3*4*5'
>>>

注意:+ 和join的区别:+每次加都会生成一个对象,而join只生成结果的一个。
因此join的速度比+ 快的多。

import time

time01 = time.time()
a = ""
for i in range(1000000):
    a += "sxt"
    
time02 = time.time()

print("运算时间:"+str(time02-time01))

time03 = time.time()
li = []

for i in range(1000000):
    li.append("sxt")

a = "".join(li)

time04 =time.time()

print("运算时间:"+str(time04-time03))


运行结果:
运算时间:0.8975987434387207
运算时间:0.1765294075012207
>>> 

14 字符串的比较:

字符串驻留机制:
对于 合法的标识符(下划线,字母,数字)启动字符串驻留机制。

例如:

a = "abd_33"
b = "abc_33"
print(a is b)

c = "dd#"
d = "dd#"
print(c is d)


str1 = "aa"
str2 = "bb"
print(str1 + str2 is "aabb")

运行结果:
False
True
False
>>> 

15 判断某个字符串是否存在另一个字符串中?

a="123456789"
b="123"
c="000"
print(b in a)
print(c in a)

运行结果:
True
False
>>> 

16 常用的查找方法:

len:长度
startswith():前缀是否匹配。
find():中间是否存在相同的。
count(“”):字符有几个??
find(""):字符串所在的下标
rfind(""):字符串从后向前数的下标。
isalnum():是否是全英文字母。

>>> a="我喜欢李建超!"
>>> len(a)
7
>>> a.startswith("我喜欢")
True
>>> a.find("李")
3
>>> a.rfind("李")
3
>>> a.count("!")
0
>>> a.count("李")
1
>>> a.count("! ")
0
>>> a.isalnum()
False
>>> 

17 去除首尾信息
strip()去除首尾信息,lstrip():去除左边的信息 rstrip():去除右边的信息。
strip(),括号内不加任何字符串,默认去除空格。

>>> "*s*x*t*".strip()
'*s*x*t*'
>>> "*s*x*t*".strip("*")
's*x*t'
>>> "*s*x*t*".lstrip("*")
's*x*t*'
>>> "*s*x*t*".rstrip("*")
'*s*x*t'
>>> "   s*x*t    ".strip()
's*x*t'
>>> 

18 大小写转换:

>>> a="abc"
>>> b="ABC"
>>> a.capitalize()  //首字母转化成大写
'Abc'
>>> c="abc def" 
>>> c.title()    //每个单词的首字母转化成大写字母
'Abc Def'
>>> b.lower()  //全部转化成小写字母
'abc'
>>> b.swapcase()   //对所有字母进行大小写转换,大写变小写,小写变大写。
'abc'
>>> a.swapcase()
'ABC'
>>> 

19 格式排版:

>>> a="abc"
>>> a.center(10,"*")
'***abc****'
>>> a.center(10)
'   abc    '
>>> a="abc"
>>> a.center(10,"*")
'***abc****'
>>> a.center(10)
'   abc    '

20 其他方法:
isalnum() 是否为数字或者字母
isalpha():是否都是字母或者汉字
isdigit():是否只是数字
isupper():是否都是大写字母
islower():是否都是小写字母
isspace():是否是空白字符。

>>> a="asnajsaj123"
>>> a.isalnum()
True
>>> b="任善文a"
>>> b.isalpha()
True
>>> c="1234567"
>>> c.isdigit()
True
>>> d=""
>>> d.isspace()
False
>>> "\t\n".isspace()
True
>>> e="ABC"
>>> e.isupper()
True
>>> "cde".islower()
True
>>> 

21.字符串的格式化:
str.format()
0 1 2 是占位符和下标类似。
也可以用字符串代替。

>>> a = "亲爱的:{0},我是:{1}"
>>> a.format("任善文","李建超")
'亲爱的:任善文,我是:李建超'
>>> a.format("任先生","爱你的小暖猫!")
'亲爱的:任先生,我是:爱你的小暖猫!'
>>> b="亲爱的:{name},我是:{name2}"
>>> b.format(name="任先生",name2="小暖猫")
'亲爱的:任先生,我是:小暖猫'
>>> 

22 填充与对齐:

^ < > 分别代表居中,左对齐,右对齐,后面+宽度
:后面+填充的字符,只能是一个字符,不指定的话默认填充空格。

>>> "{:*>8}".format("245")
'*****245'
>>> "{:*^8}".format("245")
'**245***'
>>> "{:*<8}".format("245")
'245*****'
>>> 
posted on 2019-07-20 21:22  飞行的猪哼哼  阅读(25)  评论(0)    收藏  举报