1、数字类型 int
数字主要是用于计算用的,使用方法并不是很多,就记住一种就可以:
bit_length() 当前十进制用二进制表示时,最少使用的位数
s = 5 print(s.bit_length()) # 结果为 3 (101) s = 9 print(s.bit_length()) #结果为 4 (1001)
1.2 二进制与十进制之间相互转换
pass
2、布尔值 bool
布尔值就两种:True,False。就是反应条件的正确与否
真 1 True
假 0 False
str ----> bool 非空即True (空格不代表空,空格也是一个字符)
print(bool('')) # False print(bool(' ')) # True print(bool('1@3ert')) # True
3、字符串 str (*****)
3.1 字符串的索引与切片
字符串的切片索引以及常用操作方法 都是形成新的字符串,与原字符串没有关系。
索引即下标,就是字符串组成的元素从第一个开始,初始索引为0,以此类推
a = 'ABCDefgHij' print(a[0]) # A print(a[3]) # D
print(a[-3]) # H
3.2 字符串切片
a = 'ABCDefgHij'
print(a[0:3])
print(a[3:5])
print(a[0:]) # 默认到最后
print(a[:5]) #默认从0开始
print(a[0:-1]) # -1 是列表中最后一个元素的索引,但是要满足顾头不顾腚的原则,所以取不到j元素
print(a[0:6:2]) #加步长
print(a[4:1:-1]) # 反向步长
s = 'ABCDEfghijk' print(s[:5:-1]) #反向步长,要从末尾开始,到第五个字符结束,输出结果kjihg
3.3 字符串的常用操作方法 (按 ❤ 等级排列)
(都是形成新的字符串,与原字符串没有关系。)
❤ (一星,了解)
1、 center() 将字符串居中可以设置总长度,可以设置填充物 * ,填充物仅支持一个字符
s = 'Echomaster'
s1 = s.center(40, '+')
print(s1) # +++++++++++++++Echomaster+++++++++++++++
2、swapcase 大小写翻转
s = 'abDRdKu12$%^Nll' print(s.swapcase()) # ABdrDkU12$%^nLL
3、 title 非字母隔开的每个单词的首字母大写
s = 'alex echo General' print(s.title()) # Alex Echo General
4、join
(list(必须全部都是字符串组成的列表) ---> str 只是其中一种用途 )
s = ['echo', 'alex', 'iris'] s1 = ' '.join(s) print(s1) # echo alex iris
===========================================================================================
❤❤ (二星,记住)
1、capitalize() 首字母大写
s = 'ECHO ALex men' print(s.capitalize()) #Echo alex men 仅第一个字母大写,其他全部换成小写,加换行符后的字母不会大写
s = '12echoALex' print(s.capitalize()) # 12echoalex 如果是数字开头,没什么变化 s = '$efAL' print(s.capitalize()) # $efal 特殊字符开头也没有变化 s = 'echo alex age17' print(s.capitalize()) # 不支持切片
2、find index
find : 通过元素找索引,找到第一个就返回(可切片),找不到返回-1
index 通过元素找索引,找到第一个就返回(可切片),找不到报错
s = 'echo is a great man' print(s.find('a', 9)) # 支持切片,9代表索引[9] 开始找
print(s.index('x')) # 找不到则报错
3、is系列
name = 'taibai123' print(name.isalnum()) #字符串由字母或数字组成 print(name.isalpha()) #字符串只由字母组成 print(name.isdigit()) # 字符串只由数字组成
============================================================================================
❤❤❤ (即使忘记银行卡密码,也要记住这些)
1、 upper() lower () 全部大写,全部小写,一般用在验证码
s = 'echo IS a GOod Men' print(s.upper()) # ECHO IS A GOOD MEN print(s.lower().capitalize()) # Echo is a good men
upper() / lower() 用在验证码的例子
username = input('请输入用户名: ').strip() # strip 消除用户误操作输入的空格
password = input('请输入密码: ').strip() # strip 消除用户误操作输入的空格
if username == 'echo' and password == '123':
code = input('请输入验证码: ').lower() # lower()/upper() 验证码不区分大小写
if code == 'AsDfg'.lower(): # lower()/upper() 验证码不区分大小写
print('登录成功')
else:
print('验证码错误')
else:
print('账号或密码错误')
2、startswith endswith 看出字符串是否已 XX开头 或结尾
s = 'echo is a good men' print(s.startswith('is')) # False print(s.endswith('en')) # True print(s.startswith('is', 5, 7)) #支持切片 True print(s.endswith('e', -3, -1)) # True
3、strip默认清楚字符串前后两端的空格,换行符,制表符 (‘ ’,‘ ’, ' ')
s = ' echo * ' print(s.strip()) # 只能删除前后空格,换行,制表符
s = ' echo * ' print(s.strip('*')) # 如果自定义,则只能删除自定义的字符,不能删除空格,换行,制表符
lstrip rstrip
s = '**echo****' print(s.lstrip('*')) # echo**** print(s.rstrip('*')) # **echo
应用举例:在输入账号密码界面,去除用户误操作输入的空格
while 1: username = input('请输入姓名: ').strip() # strip 去除空格,制表符 ,换行符 password = input('请输入密码: ').strip() # strip 去除空格,制表符 ,换行符 if username == 'echo' and password == '123': print('登录成功') break else: print('输入账号错误,请重新输入!')
特殊用法:
ss = 'qrechoqwrendqqwewwr' s8 = ss.strip('qwre') #去除字符串两边所有的qwre 结果 :choqwrend print(s8)
4、split 用法
默认以空格分割字符串,可以自定义, 分割必成列表
分割出的元素要比分隔符数+1
s = 'wus ir alex taibai' print(s.split()) # ['wus', 'ir', 'alex', 'taibai'] print(s.split(' ', 2)) # 以空格为分割,2表示最大分割两次 ['wus', 'ir', 'alex taibai'] s = '#wus#ir#alex#taibai#' print(s.split('#')) # 自定义分隔符 ['', 'wus', 'ir', 'alex', 'taibai', '']
5、replace 用法:
用新字符串替换原字符串,,
replace('old', 'new', count) count代表 从左往右要替换掉的个数
s = 'Alex是老男孩的创始人之一,Alex也是一个Alex' s1 = s.replace('Alex', 'echo', 2) # echo是老男孩的创始人之一,echo也是一个Alex print(s1)
6、格式化输出: format
format 格式化输出
第一种方式:
s = '我叫{}, 今年{}, 性别{}'.format('小虎', 25, '女')
print(s)
第二种方式
s = '我叫{0}, 今年{1}, 性别{2},我依然叫{0}'.format('小虎', 25, '女')
print(s)
第三种方式
s = '我叫{name}, 今年{age}, 性别{sex},我依然叫{name}'.format(age=25, sex='女',name='小虎',)
print(s)
格式化输出个人名片:
name = input('请输入姓名: ') age = input('请输入年龄: ') sex = input('请输入性别: ') address = input('请输入家庭住址: ') msg = ''' -------------info for {name}--------- name: {name} age : {age} sex : {sex} address: {address} ----------------end------------------ '''.format(sex=sex, name=name, age=age, address=address) print(msg)
另一种方法, (fomart括号里面,可以直接引用input输入的变量)
name = input('请输入姓名: ') age = input('请输入年龄: ') sex = input('请输入性别: ') address = input('请输入家庭住址: ') msg = ''' -------------info for {}--------- name: {} age : {} sex : {} address: {} ----------------end------------------ '''.format(name, name, age, sex, address) print(msg)
7、count 计算字符串中某个字符出现的次数
s = 'asefdasefdsaefea4grehg4r' print(s.count('a')) print(s.count('a', 1,6)) # 支持切片
8、len() 公共方法(内置函数)
s = 'asefdsaefeae' print(len(s)) #12
9、
for 循环:
结构:
for 变量 in iterable:
s = '深圳骑士' for i in s: print(i)