二、Python的基本数据类型
运算符
1、算术运算:

2、比较运算

3、赋值运算

4、逻辑运算

user = 'hg'
pwd = '2020'
v = user == 'hg' and pwd == '2020' or 1 == 2 and pwd == '1234' #从前往后算,但是在编程的时候最好都加上括号
print(v) #>>> True
5、成员运算

name = '你好啊'
if '你' in name:
print('yse')
else:
print('error')
基本数据类型
数字
在Python3中int 整形可以无限大
int转换功能
将字符串类型转换为整形int
a ='123'
print(type(a),a) #>>> <class 'str'> 123
b=int(a)
print(type(b),b) #>>> <class 'int'> 123
把其他进制数转换成十进制类型
num = '00f11'
c = int(num,base=16) #以16进制的方式转换成十进制 同理base = 2/4/8.....
print(type(c),c) #>>> <class 'int'> 3857
bit.length 当前数字的二进制,至少用n位表示
name = 5
L = name.bit_length()
print(L) #>>> 3
字符串 str "hello world"
capitalize()
name = 'lGHG'
v = name.capitalize() #将首字母变成大写,其余都变成小写
print(v) #>>>Lghg
casefold()
name = 'lGHG'
v1 = name.casefold() #所有都变成小写
print(v1) #>>>lghg
center
设置宽度,并将内容居中,可以指定总长度
空白位置填充,只能填一个字符,可填可不填,不填时为空
name = 'lGHG'
v2 = name.center(10,'*') #10代指总长度 '*'填充内容
print(v2) #>>> ***lGHG***
ljust rjust 在左边或者右边填充指定内容
test5 = "lghg"
print(test5.ljust(20,"*")) #>>>lghg****************
print(test5.rjust(20,"*"))#>>>****************lghg
count
text = 'aabbbccc'
v3 = text.count('ab',0,6) #去字符块中寻找子序列的出现次数。可以设置寻找的起始位置和终止位置
print(v3) #>>> 1
endswith和startswith
text = 'aabbbccc'
v4 = text.endswith('b',1,5) #查找结尾是否是‘b’,寻找的序列的开始的结尾由自己决定,也可以直接text.endswith('b')
print(v4) #>>> True
v5 = text.startswith('a',1,5)#查找开头
print(v5) #>>> True
find
index和find一样都是寻找位置,但是找不到直接报错,所以以后用find即可
text = 'aabbbccc'
v6 = text.find('d') #寻找位置,找到第一个后,获取他的位次
print(v6) #>>> -1 表示找不到
v6 = text.find('b',0,7) #寻找位置,找到第一个后,获取他的位次
print(v6) #>>> 2
format 格式化,将一个字符串中的占位符替换为指定的值
text1 = 'I am {hg},age is {x}'
print(text1.format(hg='lg',x=20)) #>>>I am lg,age is 20
text2 = 'I am {0},age is {1},weight is {2}kg,height is {3} ' #如果占位符里是顺序数字,则直接如下填写即可
print(text2.format('黄盖',20,65,170)) #I am 黄盖,age is 20,weight is 65kg,height is 170
# #==另一种格式化 format_map({"hg":'lg','x':20})
# text3 = 'I am {hg},age is {x}'
# print(text3.format_map({"hg":'lg','x':20}))
isalnum 字符串里只能有字母和数字
text4 = 'ab123cdefg_+'
print(text4.isalnum()) #>>>False
text5 = 'ab123cdefg'
print(text5.isalnum()) #>>>True
isalpha 只能有字母或者汉字
text6 = 'abcdefg我'
print(text6.isalpha()) #>>>True
是否都是数字类型有三种魔法 isdecimal()、isdigit()、isnumeric()
但是各有各的不同之处
isdecimal() 只能判断是否是"123"类型数字
isdigit() 则可以判断"②"类型的
isnumeric()可以判断中文的"二"
text7 = '②123'
print(text7.isdecimal(),text7.isdigit()) #>>>False True
text8 = '123'
print(text8.isdecimal(),text8.isdigit()) #>>>True True
text9 = '二'
print(text9.isnumeric()) #>>> True
isprintable() 是否存在不可见的字符
test2 = "lghg\tnihao"
print(test2.isprintable()) #>>>False 有"\t"
isspace判断是否都是空格,至少一个空格。不能有其他
test3 = " "
print(test3.isspace()) #True
title
test4 = "Lg hg lbj"
print(test4.title()) #将首字母全部转换成大写 >>>Lg Hg Lbj
print(test4.istitle()) #判断首字母是否都为大写 >>>False
islower() ;isupper() 判断大小写
test6 = "LGhg"
v1 = test6.islower() #判断是否都为小写
v2 = test6.lower() #全部转换成小写
print(v1) #>>>False
print(v2)#>>>lghg
test7 = "LGhg"
v3 = test7.isupper() ##判断是否都为大写
v4 = test7.upper() #全部转换成小写
print(v3) #>>>False
print(v4) #>>>lghg
swapcase 大小写转换
test ="LGhg"
v = test.swapcase()
print(v)#>>>lgHG
lstrip();rstrip ;strip 可以去除空白;也可以去除\n和\t ;可以去除指定内容
test8 = " LGhg "
print(test8.lstrip()) #去除左边空格
print(test8.rstrip()) #去除
print(test8.strip()) #去除空白
print(test8.lstrip(' LG'))#去除左边指定内容
print(test8.rstrip(' hg'))#去除右边边指定内容
makestans和translate
v= "abcde;acade;bcbfa"
m= str.maketrans("acbfe","12345") #找相同然后替换
new_v = v.translate(m)
print(new_v) #>>>132d5;121d5;32341
startswith endswith 判断开头结尾
test= "abchj"
v = test.startswith('a') #判断开头
print(v) #>>>True
v= test.startswith('b')
print(v)#>>>False
v= test.endswith('j') #判断结尾
print(v)#>>>True