目录
运算符
位运算符:
逻辑与运算符
成员运算符 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 :如果在指定的序列中找到值返回True,否则返回False
not in:如果在指定的序列中找到值返回False,否则返回True
is:判断两个标识符是不是引用同一个对象
is not :判断两个标识符是不是引用不同对象
**
~ + - 正负号(一元加减)
* / % //
+ -
>> <<
&
^ |
<= < > >=
== !=
= %= /= += -=
is is not
in not in
not or and
字符串是以单引号或双引号括起来的任意文本,字符串不可变
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("不是闰年")
print(eval("123+23"))
print(len("jjjj")) 4
print("AbCDef".lower())
print("AbCDef".upper())
print("AbCDef".swapcase())
print("AbCDef".capitalize())
print("AbCDef good a man real".title())
print("good a man real".center(30,'*'))
print("good a man real".ljust(30,"*"))
print("good a man real".rjust(30,"*"))
print("good a man real".count('a'))
print("good a man real".count('a',8,)) 从第8位到结尾有多少个a,可以指定一个范围
print("good a man real".find('a',8,14))
str.rfind('str1',strat,end) 从右往左
print("goa man real".find('mxn',0,14))
print("goa man real".index('mxn',0,14))
print(" goa man real".lstrip())
str.rstrip() 截取掉右侧指定的字符,默认位空格
print("********goa man ***real****".strip('*'))
以str为分隔符截取字符串
str = "a man is ajjfl kk"
print(str.split(" "))
str = """ajsadjajsk
gdggjij
asfijijjimr
"""
print(str.splitlines())
用newstr去替换oldstr,默认是全部替换,如果输了count,就替换前面count个oldstr
str = "a good man old man"
str1 =str.replace("man","woman",1)
print(str1)
start默认是开头
str = "a good man old man"
print(str.startswith("a go"))
str = "agoodmanoldman"
print(str.isalpha())
str = "a12b34"
print(str.isalnum())
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写在一行里不好阅读,python中允许:
print('''
ajjjj
bkkkk
cllll
''')
print(r"\\\n\n\n\n")
一起学习,一起进步 -.- ,如有错误,可以发评论