python(五)——运算符、字符串、转义字符

 

目录

 

运算符

位运算符:

逻辑与运算符 

成员运算符   in  和 not in 

身份运算符  is 和 is not

运算符优先级

字符串

python中字符串可以进行乘法运算

访问字符串中某一个字符

截取字符串

判断一个字符串是否在另一个字符串内

判断是否为闰年小算法:

eval(str)      将字符串str当成有效的表达式来求值并返回计算结果,不能有英文字符

len(str)       返回字符串的长度(字符个数)

str.lower()     转换字符串中的大写字母为小写字母

str.upper()        转换字符串中的小写字母为大写字母

str.swapcase()      转换字符串中的大写字母为小写字母,转换字符串中的小写字母为大写字母

str.capitalize()      转换字符串,使得只有首字母为大写

str.title()      每个单词的首字母大写

str.center(width,fillchar)   将str放在居中的位置,fillchar为填充的位置

str.count('str1')    计算str中有多少个str1

str.find('str1',strat,end)   从左往右检测str1字符串是否包含在str字符串中,可以指定范围。得到的结果是第一次出现str1的下标

str.index(str1,start,end)   和find方法一样,区别是str1不存在时会报错

str.lstrip()   截取掉左侧指定的字符,默认位空格

str.strip()  截取掉两侧指定的字符,默认为空格

split(str="")截取字符串

splitlines() 按照('\t','\t\n','\n')分隔

replace(oldstr,newstr,count)字符串替换

startswitch(str,start=0,end=len(str)) 在给定范围内判断是否是以给定str为开头的

isalpha() 如果字符串中至少有一个字符且所有字符都是字母返回true

isalnum() 如果字符串中至少有一个字符且所有字符都是字母或者数字返回true

isdigit()  如果字符串中只包含数字则返回true 

格式化输出

转义字符\

换行符\n

制表符\t

python允许用r表示内部的字符串默认不转义


运算符

位运算符:

按位运算符是把数字看出二进制数来进行计算

& 按位与运算符    print(5 & 7)   结果为5

1 0 1

1 1 1        相应位数都为1才为1,否则为0

------

1 0 1

| 按位或运算符    print(5 | 7)   结果为7                       相应位数有一个为 1 时,就为 1

^ 按位异或运算符  print(5 ^ 7)  结果为 2                 相应位数不同时,才为 1

~ 按位取反运算符  print( ~5)  结果为-6     每个数据位取反

 

<< 左移动运算符   各二进制位向左各移动若干位   

print(5<<1)    10              101  --》  1010

>> 右移动运算符   各二进制位向右各移动若干位   

print(5>>1)    2           101 ——》 10

逻辑与运算符 

and  : 表达式1  and  表达式2

表达式中有一个为假,则全部为假

or  :  表达式1  or 表达式2        表达式全为假时,才为假

not : not 表达式      如果表达式为真,则整体逻辑非表达式为假

 

成员运算符   in  和 not in 

in :如果在指定的序列中找到值返回True,否则返回False

not in:如果在指定的序列中找到值返回False,否则返回True

 

身份运算符  is 和 is not

is:判断两个标识符是不是引用同一个对象

is not :判断两个标识符是不是引用不同对象

 

运算符优先级

**

~ + - 正负号(一元加减)

*  /  %  //

+  -

>>    <<

&

^  |

<=  <  >  >=

==   !=

=   %=   /=   +=   -=

is   is not

in   not in

not  or   and

 

字符串

字符串是以单引号或双引号括起来的任意文本,字符串不可变

python中字符串可以进行乘法运算

a = "very good"
print(a * 3)

访问字符串中某一个字符

通过索引字符下标查找字符,索引从0开始,字符串名[下标]

a = "very good"
print(a[3])

注意:不能使用a[3] = k这种方法去改变字符串,因为字符串不可变 

截取字符串

字符串[n : m],截取n到m-1之间的字符 ,如果从头开始,n可以不填

a = "very good"
print(a[2 : 6])

判断一个字符串是否在另一个字符串内

a = "very good"
print("good" in a)

 

判断是否为闰年小算法:

a = int(input("请输入年份:"))
if (a % 4 == 0 and a % 100 != 0) or a % 400 == 0:
    print("是闰年")
else:
    print("不是闰年")

eval(str)      将字符串str当成有效的表达式来求值并返回计算结果,不能有英文字符

print(eval("123+23"))

len(str)       返回字符串的长度(字符个数)

print(len("jjjj"))       4

str.lower()     转换字符串中的大写字母为小写字母

print("AbCDef".lower())

str.upper()        转换字符串中的小写字母为大写字母

print("AbCDef".upper())

str.swapcase()      转换字符串中的大写字母为小写字母,转换字符串中的小写字母为大写字母

print("AbCDef".swapcase())

str.capitalize()      转换字符串,使得只有首字母为大写

print("AbCDef".capitalize())

str.title()      每个单词的首字母大写

print("AbCDef good a man real".title())

str.center(width,fillchar)   将str放在居中的位置,fillchar为填充的位置

print("good a man real".center(30,'*'))

print("good a man real".ljust(30,"*"))

print("good a man real".rjust(30,"*"))

str.count('str1')    计算str中有多少个str1

print("good a man real".count('a'))
print("good a man real".count('a',8,))   从第8位到结尾有多少个a,可以指定一个范围

str.find('str1',strat,end)   从左往右检测str1字符串是否包含在str字符串中,可以指定范围。得到的结果是第一次出现str1的下标

print("good a man real".find('a',8,14))

str.rfind('str1',strat,end)   从右往左

str.index(str1,start,end)   和find方法一样,区别是str1不存在时会报错

print("goa man real".find('mxn',0,14))         

print("goa man real".index('mxn',0,14))           

str.lstrip()   截取掉左侧指定的字符,默认位空格

print("    goa man real".lstrip())

str.rstrip()   截取掉右侧指定的字符,默认位空格

str.strip()  截取掉两侧指定的字符,默认为空格

print("********goa man ***real****".strip('*'))

split(str="")截取字符串

以str为分隔符截取字符串

str = "a man is   ajjfl kk"
print(str.split(" "))

splitlines() 按照('\t','\t\n','\n')分隔

str = """ajsadjajsk
gdggjij
asfijijjimr
"""
print(str.splitlines())

replace(oldstr,newstr,count)字符串替换

用newstr去替换oldstr,默认是全部替换,如果输了count,就替换前面count个oldstr

str = "a good man old man"
str1 =str.replace("man","woman",1)
print(str1)

startswitch(str,start=0,end=len(str)) 在给定范围内判断是否是以给定str为开头的

start默认是开头

str = "a good man old man"
print(str.startswith("a go"))

isalpha() 如果字符串中至少有一个字符且所有字符都是字母返回true

str = "agoodmanoldman"
print(str.isalpha())

isalnum() 如果字符串中至少有一个字符且所有字符都是字母或者数字返回true

str = "a12b34"
print(str.isalnum())

isdigit()  如果字符串中只包含数字则返回true 

格式化输出

a = 10
print("the num =",a)
print("the num = %d" %(a))

a = 10
b = "asijifjaij"
c = 5.12
print("the num = %s , the str = %s , the float = %.3f" %(a , b , c))

 

转义字符\

将一些字符转换成有特殊含义的字符

换行符\n

\n在内存中占一个字节

\\n的话不会换行,会打印出\n

如果在字符串中有很多换行,用\n写在一行里不好阅读,python中允许:

print('''
ajjjj
bkkkk
cllll
''')

制表符\t

python允许用r表示内部的字符串默认不转义

print(r"\\\n\n\n\n")

 

 

 

一起学习,一起进步 -.- ,如有错误,可以发评论 

你可能感兴趣的:(python)