day3:python运算符及数据类型(str)(int)

运算符

算数运算 :a = 10 * 10
赋值运算:a = a + 1 a+=1

比较运算:a = 1 > 5
逻辑运算: a = 1>6 or 1==1   a = 1 and b = 1 
成员运算 a = "a" in  abc

基本数字类型

数字 --int   a = 123

a = '123'
print(type(a),a)
#显示<class 'str'> 123 表示为字符串
b = int(a)
print(type(b),b)
#显示 <class 'int'> 123 表示为数字类型
#所有type检查该值是什么类型
num = "a"
v = int(num, base=16)
print(v)
#把'a'转换成 16进制
# bit_lenght()
age  = 5
v = age.bit_length()
print(v)
#功能:值的2进制位数 5的2进制位数为3位

 字符串---str   sun = 'jingyao'

  小记:字符串一但在内存里创建,就不可修改

 1  #功能:首字母大写
 2 sun = 'jingYao'
 3 fang = sun.capitalize()
 4 print(fang)
 5 
 6 #字符串字母小写1
 7 sun = 'jingYao'
 8 fang = sun.casefold()这个更牛逼
 9 print(fang)
10 
11 #字符串字母小写1
12 sun = 'jingYao'
13 fang = sun.lower()
14 print(fang)
15 
16 #功能:设置20宽度,并将内容居中,后面参数是替换,默认是空格
17 sun = 'jingYao'
18 fang = sun.center(20,'_')
19 print(fang)
20 #输入内容:______jingYao_______
21 
22 #功能:计算字符串里面重复字符的个数
23 sun = 'jingYaoFangdi'
24 fang = sun.count('n',2,7)
25 print(fang)
26 #输入内容:2 
27 #后面的参数可以只写一个数字,意思重哪里开始
28 #后面参数如果2个数字的话,从哪里开始从哪里结束
29 
30 #功能:以*结尾,以*开始
31 sun = 'jingYaoFangdi'
32 fang = sun.endswith('a')
33 print(fang)
34 chao = sun.startswith('s')
35 #输入内容:True /False
36 #里面也可以加参数2,5
37 
38 #功能:从开始往后找,找到后,获取位置,后面就不再获取
39 sun = 'jingYaoFangdi'
40 fang = sun.find('a')
41 print(fang)
42 #输入内容:5
43 #后面也可以加参数起始位置和结束位置-1代表未找到
44 
45 # 功能格式化,替换
46 name  =' I am {m},age{s}'
47 v = name.format(m = 'jingyao',s = 19)
48 print(v)
49 name  =' I am {0},age{1}'
50 v = name.format('jingyao',19)
51 print(v)
52 # 输出:I am jingyao,age19
53 
54 # 功能格式化,替换 以字典的类型
55 name  =' I am {m},age{s}'
56 v = name.format_map({'m' :'jingyao','s' :19})
57 print(v)
58 # 输出:I am jingyao,age19
 1 #功能:从开始往后找,找到后,获取位置,后面就不再获取
 2 sun = 'jingYaoFangdi'
 3 fang = sun.index('a')
 4 print(fang)
 5 #输入内容:5
 6 #后面也可以加参数起始位置和结束位置-1代表未找到 
 7 # 和find相同但是如果未知道运行命令会报错
 8 
 9 #功能:判断字符串中只包含数字和字母
10 sun = 'jingYaoFangdi123'
11 fang = sun.isalnum()
12 print(fang)
13 #输入内容:True
#功能:间距,可以制表
sun = 'name\tpassword\te-mail\nname\tpasswordt\te-mail\nname\tpasswordt\te-mail\n'
fang = sun.expandtabs(6)
print(fang)
#输入内容:
name  password    e-mail
name  passwordt   e-mail
name  passwordt   e-mail
#/T 断句 /N 换行
#功能:检查是否字符串全为字母
sun = 'jingYaoFangdi'
fang = sun.isalnum()
print(fang)
#输入内容:True

#功能:检查是否字符串全为数字
sun = 'jingYaoFangdi'
fang = sun.isdecimal()一般都使用这个
chao = sun.isdigit()#这个牛逼可以可以支持特殊⑥
jing = sun.isnumeric()#这个更牛逼可以识别‘二’
print(fang,chao)
#输入内容:False /True

#功能:大小写转换
sun = 'jingYaoFangdi'
fang = sun.swapcase()
print(fang)
#输入内容:JINGyAOfANGD
 1 #功能:判断是否小写
 2 sun = 'jingYaoFangdi'
 3 fang = sun.islower()
 4 print(fang)
 5 #输入内容:False
 6 
 7 #功能:是否存在不可显示的字符
 8 sun = 'jingYao\tFangdi'
 9 fang = sun.isprintable()
10 print(fang)
11 #输入内容:True
12 
13 #功能:判断字符串是否全部是空格
14 sun = ' '
15 fang = sun.isspace()
16 print(fang)
17 #输入内容:True
18 
19 #功能:判断是否首字母为大写
20 #功能1:转换成首字母大写
21 sun = 'Jing Yao Fang Di'
22 yao = 'fang di'
23 fang = sun.istitle()
24 jin = yao.title()
25 print(fang,jin)
26 #输入内容:True/ Fang Di
27 
28 #功能:判断是否是大写,转换成大写
29 sun = 'JingYaoFangDi'
30 fang = sun.isupper()
31 chao = sun.upper()
32 print(fang,chao)
33 #输入内容:False
34 # JINGYAOFANGDI
35 
36 #功能:判断是否是小写,转换成小写
37 sun = 'JingYaoFangDi'
38 fang = sun.islower()
39 chao = sun.lower()
40 print(fang,chao)
41 #输入内容:False 
42 # jingyaofangdi
43 
44 #功能:将字符串中的每个元素拼接
45 sun = 'JingYaoFangDi'
46 v = '_'
47 fang = v.join(sun)
48 #或 fang = '_'.join(sun)
49 print(fang)
50 #输入内容:J_i_n_g_Y_a_o_F_a_n_g_D_i
51 
52 #功能:左右填充字符
53 sun = 'JingYaoFangDi'
54 fang = sun.ljust(20,'_')
55 chao = sun.rjust(20,'_')
56 yao = sun.zfill(20)
57 print(fang,chao,yao)
58 #输入内容:JingYaoFangDi_______
59 # _______JingYaoFangDi
60 #0000000JingYaoFangDi
61 
62 #功能:默认去除左右空格换行
63 # 加参数可以去除字符串左右元素
64 sun = 'DiJingYaoFangDi'
65 fang = sun.lstrip('D')
66 chao = sun.rstrip('i')
67 yao = sun.strip('Di')
68 print(fang,chao,yao)
69 #输入内容:ingYaoFangDi
70 # JingYaoFang
71 #JingYaoFang
 
  
 
 1 #功能:替换字符串里面的元素
 2 a = 'sunjinchao,love ,sunjingyao'
 3 v = str.maketrans('sunjinchao','xianfangdi')
 4 b = a.translate(v)
 5 print(b)
 6 #输出:xianfangdi,live ,xianfagydi
 7 
 8 #功能:分割
 9 test = 'sunWjingWyao'
10 a = test.partition('W')#分割字符串为3份
11 b = test.rpartition('W')#从右往左
12 c = test.split('W')#默认全部替换,W获取不到
13 d = test.rsplit('W',2)#数字参数可以指定分割的个数,匹配到的W,获取不到
14 print(a,b,c,d)
15 #输出:找到第一个W进行分割 ('sun', 'W', 'jingWyao')
16 #('sunWjing', 'W', 'yao')
17 #['sun', 'jing', 'yao']
18 #['sun', 'jing', 'yao']
19 #正则表达式是2个功能的合集
20 
21 #分割,只能根据换行符再分割
22 test = 'sunjinchao\nxianfangdi\nsunjingyao\n'
23 v = test.splitlines(False)
24 print(v)
25 #True:['sunjinchao\n', 'xianfangdi\n', 'sunjingyao\n']
26 #False:['sunjinchao', 'xianfangdi', 'sunjingyao']
1 #分割,判断字符串以什么开头结尾
2 test = 'sunjinyao'
3 a = test.startswith('a')
4 b = test.endswith('o')
5 print(a,b)
6 #输出:False True
 

 简单的字符串命令

1 #索引,下标,切片
2 name = 'sunjingyao'
3 print(name[3])
4 print(name[0:2])
5 print(name[0:-1])
6 #输出:j /sun/sunjingy
7 #获取当前字符串的个数
8 print(len(name))
9 #输出:10

  小试牛刀:

把输入的值,制作一个索引

1 pwd = input('>>>>')
2 for i in range(0,len(pwd)):
3     print(i,pwd[i])

 

猜你喜欢

转载自www.cnblogs.com/sunjinchao/p/10659285.html