1、运算符 + - * / ** //
判断某个东西是否在某个东西里面用 in not in 结果是布尔值
name = "郑建文"
if "建文" in name: #改成郑文,输出Error
print('OK')
else:
print('Error') #OK
"郑建文" 字符串
"郑“字符,
”建文“子字符串/子序列,连续挨着的才在里面
Pycharm里选中代码,按住ctrl点?,给你那几行注释掉了
name = "郑建文"
if "文" not in name : #改成文1 输出为1
print('1')
else:
print('2') # 2
布尔值:True 真 假 False
while True:
==
>
<
>=
<=
!= 不等于 推荐
<> 不等于
not (not False not True)
and or 拼接 (v = user =='1' and pwd = '2')
user = "alex" pwd = "123" v = user == 'alex' and pwd == "12" or 1 == 1 and pwd == "99854" and 1==2 print(v) # False
执行顺序从前到后一个一个算,
user == 'alex'是假的认为后面and全是假的,
user == 'alex' and pwd == "12" 是真的,遇到or不管后面说啥都认为是真的
True OR ==> True
True AND ==> 继续走
FLASE OR ==> 继续走
FLASE AND ==> FLASE
推荐使用括号
赋值运算:
c = c + a 等效于 c + = a 其他类似
结果是值
算术运算 a = 10 * 10
赋值运算 a = a + 1 a + = 1
结果是布尔值
比较运算符 a = 1 > 5
逻辑运算符 a = 1 > 6 or 1 == 1
成员运算符 a = "文" in "郑建文"
2、基本数据类型
数字 int
所有的功能,都放在int里
python3里不管数字有多大 都有int类型
python2超过某个数以后不叫int了叫long 长整型
a1 = 123
a1 = 456
- int
将字符串转换为数字
a = "123" print(type(a),a) #<class 'str'> 123 b = int(a) print(type(b),b) #<class 'int'> 123 num = "0011" v = int(num, base=16) print(v) #17
- bit_lenght
# 当前数字的二进制,至少用n位表示
a = 123 v = a.bit_length() print(v) # 7
# 1 1 输出1
# 2 10 输出2
# 3 11 输出2
# 4 100 输出3
# 5 101 输出3
pycharm里 写 int ctrl点int 就有所有int型的可用功能
字符串 str
s1 = "asdf"
s2 = "asdffas"
test = "aLex"
首字母大写
v = test.capitalize() print(v) #Alex
所有变小写,casefold更牛逼,很多未知的对相应变小写,例如法国的
test = "aLex" v1 = test.casefold() print(v1) #alex v2 = test.lower() print(v2) #alex
设置宽度,并将内容居中
20 代指总长度
* 空白未知填充,一个字符,可有可无
center(self, width, fillchar=None)
test = "aLex" v = test.center(20,"中") print(v) #中中中中中中中中aLex中中中中中中中中
去字符串中寻找,寻找子序列或者字符的出现次数 还有特产可带可不带,哪开始哪里结束 count(self, sub, start=None, end=None)
# 012345678
test = "aLexalexr"
v = test.count('ex')
print(v) #2
test = "aLexalexr"
v = test.count('ex',5,6)
print(v) #0
下面两个先不讲
encode
decode
以什么什么结尾
以什么什么开始
test = "alex"
v = test.endswith('ex')
print(v) #True
v = test.startswith('ex')
print(v) #False
先不讲
#test = "12345678\t9"
#v = test.expandtabs(6)
#print(v,len(v))
从开始往后找,找到第一个之后,获取其位置 find(self, sub, start=None, end=None)
test = "alexalex"
#未找到 -1 >= 5 <8
v = test.find('ex',5,8) #8改成7 输出-1 没找到。 5,8都不加输出2
print(v) #6
index找不到,报错 忽略,用find
test = "alexalex"
v = test.index('8')
print(v) #error 8改成a 输出0
格式化,将一个字符串中的占位符替换为指定的值
test = 'i am {name}, age {a}'
print(test) #i am {name}, age {a}
v = test.format(name='alex',a=19)
print(v) #i am alex, age 19
#根据出现的顺序替换,从0开始不是从1开始
test = 'i am {0}, age {1}'
print(test) #i am {0}, age {1}
v = test.format('alex',19)
print(v) #i am alex, age 19
格式化,传入的值 {"name": 'alex', "a": 19}只能是这种格式
test = 'i am {name}, age {a}'
v1 = test.format(name='df',a=10)
v2 = test.format_map({"name": 'alex', "a": 19})
print(v1) #i am df, age 10
print(v2) #i am alex, age 19
字符串中是否只包含 字母和数字
test = "123" v = test.isalnum() print(v) #True
浙公网安备 33010602011771号