int
i = 100print(i.bit_length())十进制转化成二进制的有效位数1 0000 0001
2 0000 00103 0000 0011100基础数据类型初识:
int(数字):用于计算str(字符串 ):存储少量数据bool(布尔值):判断真假 True Falselist(列表):储存 各种数据类型的数据,大量的数据,便于操作tuple(元组):() 只读列表。(有权限看,没权利改)dict(字典):1,存储大量的数据,关系型数据。set(集合):用于关系型测试tuple (元组):()只读列表。(有权限看,没权利改)int <---> strstr ---> int int(str) 条件:字符串必须全部由数字组成。int ---> str str(int)age = int(input('>>>'))print(age,type(age))s1 = str(123)s2 = 123print(s1, type(s1))
bool ----> int True ---> 1 False ---> 0
int ----> bool 非零即为True,零 Falsebool ---> str str(True) str(False)str ---> bool 非空即为 True ''空字符串 --> False
输入员工信息q退出:
while True: name = input('输入用户信息:') if name == 'q': break else: print('新员工信息:'+name)
向系统中录入员工信息,不停的录入 回车时退出
while 1: name = input('输入员工信息:') if not name: breakprint('员工信息是%s' % name)if条件为真代码块执行not False('') == True 所以条件执行break所以输入空的时候退出程序
索引,切片 ,步长
索引 索引有顺序排列,第一位开始是0,1,2,3...
s = 'python12期's1 = s[0]print(s1,type(s1)) type:检查属于什么类型的数据s2 = s[4]print(s2) print:0s3 = s[2]print(s3) print:ts6 = s[0:6] 切片:顾头不顾尾print(s6) print:pythons7 = s[1:4]print(s7) print:yths8 = s[1:]print(s8) print:ython12期s10 = s[:5:2]print(s10) print : ptos12 = s[-1:-5:-1]print(s12) print:期21n
字符串的常用操作方法
s = 'laoNANhai'** capitalize 首字母大写,其余字母小写s1 = s.capitalize()print(s1)* 居中 center
s = 'laoNANhai'
s2 = s.center(27,"*")print(s2)*** upper:全大写
lower:全小写s = 'laoNANhai'
s3 = s.upper() s31 = s.lower() print(s3) print(s31)输入验证码,不区分大小写:
code = 'QAdr'.upper()your_code = input('请输入验证码,不区分大小写:').upper()if your_code == code: print('验证成功')erify_code = 'FaD3'verify_code_user = input('请输入验证码:')if verify_code.upper() == verify_code_user.upper(): print('验证码成功')else: print('验证失败')
casefold:转换成小写,和lower的区别:lower对于某些字符支持的不够好。casefold对所有字母都有效,比如东欧的一些字母
*** startswith :判断以什么内容开头,
返回bool,可以切片,切片用逗号隔开。 ***endswiths = 'laoNANhai's4 = s.startswith('l')s41 = s.startswith('lao')s42 = s.startswith('N', 3, 6)print(s42)print(s4)print(s41)
* swapcase 大小写翻转
s5 = s.swapcase() print(s5)* title() 非字母隔开的每个单词的首字母大写。
ss = 'gdsj wusir6taibai*ritian's6 = ss.title()print(s6)***通过元素找索引
index:通过元素找索引,可切片,找不到报错find: 通过元素找索引,可切片,找不到返回-1s = 'laoNANhai's7 = s.find('a')s71 = s.find('A',2,)s71 = s.find('Q',)print(s71)s72 = s.index('Q')print(s72)print(s71)ss = '\talex\n'print(ss)
*** strip 去除前后端的空格,换行符,制表符。
ss = ' ablabsexsba's8 = ss.strip()print(s8)s9 = ss.strip('a')s9 = ss.strip('abs')lstrip() rstrip()print(s9)
input后必加“.strip”
username = input('请输入用户名').strip()if username == '碗蓉': print('登录成功')***split str ---> list
默认以空格分割,s = 'wusir alex taibai'st = 'wusir,alex,taibai'st1 = 'QwusirQalexQtaibai's10 = s.split()print(s10)s101 = st.split(',') 以‘,’分割print(s101)s102 = st1.split('Q',2) 以‘Q,分割,分割2个Q’print(s102) print:['', 'wusir', 'alexQtaibai']
s = '李嘉诚王健林马化腾周杰伦'lst = s.split('李嘉诚王健林马化腾周杰伦')#如果原字符串和刀一样得到的是两个空字符串lst = s.split('李嘉诚王健林马化腾周杰伦222')#如果过长得到的是原字符串lst = s.split('马云') #如果不存在,得到的是原字符串lst = s.split('') #报错print(lst)在开头和结尾出现了刀,一定会出现空字符串
***join
在某些情况下,list --- >str
s = 'alex's11 = '+'.join(s)print(s11) print:a+l+e+xl = ['wusir', 'alex', 'taibai']s111 = ' '.join(l) print:wusir alex taibai(空格分开)print(s111,type(s111)) 检查是str
repalce替换
s = '小粉嫩小粉嫩ghlasdfg小粉嫩's12 = s.replace('小粉嫩', '大铁锤')s12 = s.replace('小粉嫩', '大铁锤',2) (替换前两个 ) print(s12) print:大铁锤大铁锤ghlasdfg小粉嫩
expandtabs:更改tab的长度s6 = 'alex wusir\teggon'print(s6)print(s6.expandtabs())#可以改变\t的长度,默认长度更改为8
公共方法:
len() 总个数s = 'fdsajlskgjdsaf;jdskfsdaf'
print(len(s)) print:24count 计算某些元素出现的个数,可切片 找不到返回01 = s.count('f') print(c1) print:4format格式化输出,三种方式:1,msg = '我叫{},今年{},爱好{}'.format('太白', '20', 'girl')print(msg)2,msg = '我叫{0},今年{1},爱好{2},我依然叫{0}'.format('太白', '20', 'girl')print(msg)3,msg = '我叫{name},今年{age},爱好{hobby}'.\format(name='太白', hobby='girl', age='20')print(msg)name='jinxin123'
format格式化输出格式:
'{}{}{}'.format('laonamhai','nan','25')'{0}{1}{2}{0}{0}'.format('laonamhai','nan','25')'{name}{age}{sex}'.format(name='laonanhai',sex = 'nan',age=25)
print(name.isalnum()) #判断:字符串由字母或数字组成
print(name.isalpha()) #判断:字符串只由字母组成print(name.isdigit()) #判断:字符串只由数字组成 s = 'fdsagdsfgfdsadsaf's = 'alex'print(s[100])print(s[0])print(s[1])count = 0while count < len(s): print(s[count]) count += 1for i in s: print(i+'sb')for 变量 in 可迭代对象: passfor是有限循环,while是无限循环
语法:for 变量 in 可迭代对象: 循环体可迭代对象:可以一个一个往外取值的对象
练习题:
1,使用while和for循环分别打印字符串s=’asdfer’中每个元素。
s = 'asdfer'count = 0while count
2,实现一个整数加法计算器(两个数相加):如:content = input(‘请输入内容:’) 用户输入:5+9或5+ 9或5 + 9,然后进行分割再进行计算。
content = input('请输入内容:')li = content.split('+')print(li)print(int(li[0].strip()) + int(li[1].strip()))
3,计算用户输入的内容中有几个整数(以个位数为单位)。如:content = input(‘请输入内容:’) # 如fhdal234slfh98769fjdla
content = input('请输入内容:')count = 0for i in content: if i .isdigit(): count = count + 1print(count)