0
点赞
收藏
分享

微信扫一扫

Python day2


  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*****'
>>>


举报

相关推荐

#day2

day2——

Python快速入门——Day2

qt day2

Qt day2

RHCE Day2

React【Day2】

PTA day2

ajax day2

0 条评论