01,查看当前python中表示unicode字符串时占用的空间:
import sys print(sys.maxunicode) # 如果值是 65535 则表示ucs2标准,即2个字节表示 # 如果值是 1114111 则表示ucs4标准,即4个字节表示
02,基础数据类型总览
int:用于计算,计数,运算等, str:'我的名字叫Alex'用于少量数据的存储,便于操作 bool:True False两种状态,机器反馈判断的节结果 list:[1,'a',True,[],{},...],大量的数据,各种数据类型的操作 tuple:(1,'a',True,[],{},...),只读只读只读列表 dit:字典,大量的关联型数据 { 'name':alex, 'name_list':[司徒,李莲英,慈禧太后,。....], '太白':{'名字':太白,'age':28,'sex':'男'} }
03,整形int
i = 4
print(i.bit_length())#查询十进制转化成二进制占用的最小位数
十进制 二进制 bit_length()
1 0000 0001 1
2 0000 0010 2
3 0000 0011 2
4 0000 0100 3
5 0000 0101 3
...
04,数据类型之间的转化
int -->str str() int()
int -->bool bool(int) 非零--> True 零-->False
str-->bool 非空--> True
s1 = '' print(bool(s1))
--> False
05,判断用户输入的是否为空
user_input = input('请输入用户名') if bool(user_input): print('您输入的不为空') else: print('您没有输入任何东西')
06,字符串的第一类操作
1索引 切片 步长
06.1#按照索引来取值 注意 取出来都是单个的字符
s1 = 'python1期深圳骑士计划'
s1[0]-->p
s1[1]-->y
s1[-1]-->划
s1[-2]-->计
06.2切片取值 ###规则 顾头不顾尾### s1[:] 开始位置 结束位置
s1 = 'python1期深圳骑士计划'
s1[0:2]--> py
s1[:2]--> py #开始位置可以省略不写
s1[1:-1] # 最后一位的下标为 -1
-->ython1期深圳骑士计
s1[1:] #直接到最后 可以省略不写
-->ython1期深圳骑士计划
06.3按照步长切片取值 s1[开始位置:结束位置:步长]
s1 = 'python1期深圳骑士计划'
s1[1::2]
06.5倒叙取值 使用反向步长
s1 = 'python1期深圳骑士计划' print(s1[-1:-5:-1])
-->划计士骑
print(s1[-1:-6:-2])
-->划士圳
2字符串的第二类操作
06.6操作语法 规则
s1 = 'python1期深圳骑士计划'
s1.函数名(参数)
06.7首字母大写
name = 'python1期深圳骑士计划' print(name.capitalize())
-->Python1期深圳骑士计划
06.8center字符串居中 并且 前后填充自定义的字符
name = 'python1期深圳骑士计划' print(name.center(20,'#'))
-->###python1期深圳骑士计划###
06.9全部大写 全部小写upper lower
name = 'pyTHon1期深圳骑士计划' print(name.upper()) print(name.lower())
-->
PYTHON1期深圳骑士计划
python1期深圳骑士计划
####应用场景 用户输入验证码 不区分大小写####
username = input('请输入用户名:') code = 'ADFer'.upper() user_input = input('请输入验证码:').upper() if username == 'Alex' and user_input == code: print('登陆成功...') else: print('登录失败')
06.10startwith endwith
name ='OldBoy' print(name.startswith('Ol')) print(name.startswith('ol')) print(name.endswith('y')) ---->
True
False
True
06.11swapcase 大小写翻转 中文不变
name ='OldBoy老男孩'
print(name.swapcase())
-->
oLDbOY老男孩
06.11title 非字母隔开的 首个字母大写
name ='OldBoy chenwen#alex9nvshen'
print(name.title())
-->
Oldboy Chenwen#Alex9Nvshen
06.12#find 通过元素来找索引 找到第一个就返回 没有此元素则返回 -1
#index 通过元素来找索引 找到第一个就返回 没有此元素则 报错
name ='OldBoy chenwen#alex9nvshen'
print(name.find('ld'))
print(name.find('chenwen'))
print(name.index('nv'))
print(name.index('q'))
-->
1
7
20
错误
06.13strip 剥光; 表演脱衣舞; 剥除;
#默认 去除字符串前后的 空格 换行 制表符Tab
name ='\t OldBoy\n' print(name)
-->
OldBoy
name ='\t OldBoy\n' print(name.strip())
-->
OldBoy
#strip('@')
#去除自定义的 字符
name ='@@@Ol@@@dBoy@@@' print(name.strip('@'))
-->
Ol@@@dBoy
name2 = 'weralexwqwe' print(name2.strip('erw'))
#从左边开始 只要碰到 不是条件中的字符 则终止剪除
#从右边开始 只要碰到 不是条件中的字符 则终止剪除
-->
# wer(剪除) alexwq we(剪除)
alexwq
####应用场景 剪除用户 输入的空格####
username = input('请输入用户名:').strip() if username =="chenwen": print('登录成功') else: print('登录失败')
06.14split将字符串分割城列表
###注意 这是很有效的一种 把字符串-->列表 的方法
###注意哦 输出的是列表哦
str1 = 'wusir alex taibai meinv' print(str1.split())
-->
['wusir', 'alex', 'taibai', 'meinv']
#默认是按照空格来 划分
str1 = ' wusir alex taibai meinv' ##注意'之后有个空格 print(str1.split())#默认是按照空格来 划分
-->
['wusir', 'alex', 'taibai', 'meinv']#只输出4个元素
str1 = ' wusir alex taibai meinv'##注意'之后有个空格 print(str1.split(' '))#注意分割的标志是' ' (之间有个空格)
-->
['', 'wusir', 'alex', 'taibai', 'meinv']#输出的是5个元素
str1 = '@wusir@alex@taibai meinv' print(str1.split('@'))
-->
['', 'wusir', 'alex', 'taibai meinv']
#自定义分割标志 自定义分割次数
str1 = '@wusir@alex@taibai@meinv' print(str1.split('@',2))
-->
['', 'wusir', 'alex@taibai@meinv']
06.15join 拼接
str1 = 'alex' print('&'.join(str1))#注意哦 需要插入的特殊字符 放前面 print(str1.join('*')) print('_'.join(str1))
-->
a&l&e&x
*
print('_'.join(str1))
#注意哦 这也是列表-->字符串 的一种方法
str1 = ['alex','2',] print('*'.join(str1))
-->
alex*2
06.16replace 替换
str1 ='alex 很 很牛逼'
print(str1.replace('牛逼','SB'))
-->
alex 很 很SB
06.17格式化输出 format
s1 = '我叫{},我今年{}岁,性别{}'.format('taibai','28','男') print(s1)
-->
我叫taibai,我今年28岁,性别男
#加上下标的format
s1 = '我叫{0},我今年{1}岁,性别{2},我依然叫{0}'.format('taibai','28','男') print(s1)
-->
我叫taibai,我今年28岁,性别男,我依然叫taibai
#给关键字赋值
s1 = '我叫{name},我今年{age}岁,性别{sex},我依然叫{name}'.format(age='28',sex='男',name='taibai') print(s1)
-->
我叫taibai,我今年28岁,性别男,我依然叫taibai
#is系列
s1 = 'taibai123' print(s1.isalpha()) print(s1.isdigit()) print(s1.isalnum())
-->
False
False
True
#第三部分
#for 循环
#将字符串中的内容一个一个打印出来
#方法1
s1 = 'taibai123' for i in s1: print(i)
#方法二
s1 = 'taibai123' i = 0 while i < len(s1): print(s1[i]) i +=1
-->
t a i b a i 1 2 3