2、基本数据类型
数字 int ,所有的功能,都放在int里
a1 = 123
a1 = 456
- int
将字符串转换为数字
a = "123"
print(type(a),a)
b = int(a)
print(type(b),b)
num = "0011"
v = int(num, base=16)
print(v)
- bit_lenght
# 当前数字的二进制,至少用n位表示
r = age.bit_length()
字符串 str
###########################################
1 首字母大写
test = "aLex"
v = test.capitalize()
print(v)
2 所有变小写,casefold更牛逼,很多未知的对相应变小写
v1 = test.casefold()
print(v1)
v2 = test.lower()
print(v2)
3 设置宽度,并将内容居中
20 代指总长度
* 空白未知填充,一个字符,可有可无
v = test.center(20,"中")
print(v)
test = "alex"
v = test.ljust(20,"*")
print(v)
test = "alex"
v = test.rjust(20,"*")
print(v)
test = "alex"
v = test.zfill(20)
print(v)
4 去字符串中寻找,寻找子序列的出现次数
test = "aLexalexr"
v = test.count('ex')
print(v)
test = "aLexalexr"
v = test.count('ex',5,6)
print(v)
欠
encode
decode
5
以什么什么结尾
以什么什么开始
test = "alex"
v = test.endswith('ex')
v = test.startswith('ex')
print(v)
6 expandtabs,断句20,
test = "username\temail\tpassword\nlaiying\[email protected]\t123\nlaiying\[email protected]\t123\nlaiying\[email protected]\t123"
v = test.expandtabs(20)
print(v)
7 从开始往后找,找到第一个之后,获取其未知
> 或 >=
test = "alexalex"
未找到 -1
v = test.find('ex')
print(v)
8 index找不到,报错 忽略
test = "alexalex"
v = test.index('8')
print(v)
9 格式化,将一个字符串中的占位符替换为指定的值
test = 'i am {name}, age {a}'
print(test)
v = test.format(name='alex',a=19)
print(v)
test = 'i am {0}, age {1}'
print(test)
v = test.format('alex',19)
print(v)
10 格式化,传入的值 {"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})
11 字符串中是否只包含 字母和数字
test = "123"
v = test.isalnum()
print(v)
str
12 是否是字母,汉子
test = "as2df"
v = test.isalpha()
print(v)
13 当前输入是否是数字
test = "二" # 1,②
v1 = test.isdecimal()
v2 = test.isdigit()
v3 = test.isnumeric()
print(v1,v2,v3)
14 是否存在不可显示的字符
\t 制表符
\n 换行
test = "oiuas\tdfkj"
v = test.isprintable()
print(v)
15 判断是否全部是空格
test = ""
v = test.isspace()
print(v)
16 判断是否是标题
test = "Return True if all cased characters in S are uppercase and there is"
v1 = test.istitle()
print(v1)
v2 = test.title()
print(v2)
v3 = v2.istitle()
print(v3)
17 ***** 将字符串中的每一个元素按照指定分隔符进行拼接
test = "你是风儿我是沙"
print(test)
# t = ' '
v = "_".join(test)
print(v)
18 判断是否全部是大小写 和 转换为大小写
test = "Alex"
v1 = test.islower()
v2 = test.lower()
print(v1, v2)
v1 = test.isupper()
v2 = test.upper()
print(v1,v2)
19
移除指定字符串
有限最多匹配
test = "xa"
# v = test.lstrip('xa')
v = test.rstrip('9lexxexa')
# v = test.strip('xa')
print(v)
test.lstrip()
test.rstrip()
test.strip()
去除左右空白
v = test.lstrip()
v = test.rstrip()
v = test.strip()
print(v)
print(test)
去除\t \n
v = test.lstrip()
v = test.rstrip()
v = test.strip()
print(v)
20 对应关系替换
test = "aeiou"
test1 = "12345"
v = "asidufkasd;fiuadkf;adfkjalsdjf"
m = str.maketrans("aeiou", "12345")
new_v = v.translate(m)
print(new_v)
21 分割为三部分
test = "testasdsddfg"
v = test.partition('s')
print(v)
v = test.rpartition('s')
print(v)
22 分割为指定个数
v = test.split('s',2)
print(v)
test.rsplit()
23 分割,只能根据,true,false:是否保留换行
test = "asdfadfasdf\nasdfasdf\nadfasdf"
v = test.splitlines(False)
print(v)
24 以xxx开头,以xx结尾
test = "backend 1.1.1.1"
v = test.startswith('a')
print(v)
test.endswith('a')
25 大小写转换
test = "aLex"
v = test.swapcase()
print(v)
26 字母,数字,下划线 : 标识符 def class
a = "def"
v = a.isidentifier()
print(v)
27 将指定字符串替换为指定字符串
test = "alexalexalex"
v = test.replace("ex",'bbb')
print(v)
v = test.replace("ex",'bbb',2)
print(v)
##################### 7个基本魔法 ######################
join # '_'.join("asdfasdf")
split
find
strip
upper
lower
replace
##################### 4个灰魔法 ######################
test = "郑建文妹子有种冲我来"
一、for循环
for 变量名 in 字符串:
变量名
break
continue
index = 0
while index < len(test):
v = test[index]
print(v)
index += 1
print('=======')
for zjw in test:
print(zjw)
test = "郑建文妹子有种冲我来"
for item in test:
print(item)
break
for item in test:
continue
print(item)
二、索引,下标,获取字符串中的某一个字符
v = test[3]
print(v)
ok = input('输入密码')
v=len(ok)
for a in range(0,len(ok)):
print(a,ok[a])
三、切片
v = test[0:-1] # 0=< <1
print(v)
四、获取长度
Python3: len获取当前字符串中由几个字符组成
v = len(test)
print(v)
注意:
len("asdf")
for循环
索引
切片
字符串生成或者是修改会生成新的内存地址
1.python xx.py ./xx/xx.py
2.8位一个字节
3.不同的编码格式
4.3 4
5.# ''' '''
6.声明变量用于后面的参数使用 数字字母下划线
7.bit_length()
8.True False
9.alex Alex
""是假的
" "真
0 真
其他 真
10.
21.字符串是不可以迭代的对象,for a in item():
22.
23.一个先创建,一个后创建
24.
25.
26.int 整形 srt 字符串类型 类和对象的关系
27.format 类的使用
28、制作随机验证码,不区分大小写。
流程:
-‐
用户执行程序
-‐
给用户显示需要输入的验证码
-‐
用户输入的值
用户输入的值和显示的值相同时现实正确信息;否则继续生成随机验证码继续等待用户输入
生成随机验证码代码示例:
29.
29、开发敏感词语过滤程序,提示用户输入内容,如果用户输入的内容中包含特殊的字符:
如
"苍老师"
"东京热",则将内容替换为
***
v='jsjg'
v=v.replace('s','xxxxx')
v=v.replace('s','xxxx')
30、制作表格
循环提示用户输入:用户名、密码、邮箱
(要求用户输入的长度不超过20 个字符,如果超过则只有前20 个字符有效)
如果用户输入
q 或Q
表示不再继续输入,将用户输入的内容以表格形式大隐
expandtabs
len
[0,20]
import os # -*- coding: UTF-8 -*- # n=0 # while n<3: # n1=input('user') # n2=input('pw') # if n1=='ouyang'and n2=='pw': # print('ok') # else: # print("fail") # n=n+1 # name='abcd' # if 'na' in name:s # print("ok") # else: # print('false') # a='123' # print(type(a)) # print(a) # b=int(a) # print(type(b)) # print(b) # num='0011' # v=int (num,base=2) # print(v) # test='ales' # a=str(test) # print(a) # v=test.encode(encoding='utf-8') # print(v) # ac = 'i am {name}' # print(test) # v = ac.format(name='alex') # print(v) # 6 expandtabs,断句20, # test = "username\temail\tpassword\nlaiying\[email protected]\t123\nlaiying\[email protected]\t123\nlaiying\[email protected]\t123" # v = test.expandtabs(20) # print(v) # test='aledg' # v=test.swapcase()#大小写转换 # print(v) # v1=test.join('xq') # print(v1) # test = "你是风儿我是沙" # print(test) # # t = ' ' # v = "_".join(test) # print(v) # ok = input('输入密码') # v=len(ok) # for a in range(0,len(ok)): # print(a,ok[a]) # # name='aleX' # a1=name.lstrip() # a2=name.startswith('al') # a3=name.endswith('X') # a4=name.replace('l','p') # a5=name.split('l') # a6=name.upper() # a7=name.lower() # a8=name[2] # # for a in range(3): # print(name[a]) # print(name[len(name)-1]) # print(name[len(name)-2]) # a9=name.index('e') # print(a9) # a10='asdfer' # a11=a10.count('asdfe',0,len(a10)-1) # print(name,a11) # li='alexericrain' # li=['alex', # 'eric', # 'rain'] # a12='_'.join(li) # print(a12) # count1=int(input('输入数字')) # count2=int(input('第二个数')) # coun=count1+count2 # print(coun) # coun3='asduiaf878123jkjsfd-‐213928' # num1=coun3.isalnum() # num2=coun3.isalpha() # print(num1,num2) # as1=input('名字') # as2=input('地点') # as3=input('事情') # print("%s的家乡在 %s,学习啦%s"%(as1,as2,as3)) def check_code(): import random checkcode = '' for i in range(4): current = random.randrange(0, 4) if current != i: temp = chr(random.randint(65, 90)) else: temp = random.randint(0, 9) checkcode += str(temp) return checkcode code = check_code() print(code) a = input("输入你想要的算法:") v1, v2 = a.split('+') c1 = 0 c2 = 0 val = input(">>>") for itme in val: if itme.isalnum(): c1 += 1 if itme.isalpha(): c2 += 1 gg = '{0}的家乡在{1},喜欢{2}' name=input("输入") v=gg.format('uyang' ,18) while True: code = check_code() print(code) v=input(">>>")