一,今日内容大纲
1.基础类型总览
2.int
3.bool
4.str
# 索引,切片
# 常用操作方法
5.for循环
二,具体内容**
1.基础数据类型总览
# 10203 123 3340 **int** +-*/ 等等
# '今天吃了吗?' **str** True存储少量的数据
# True False **bool** 判断真假
# [12,True,'alex',[1,2,3]] **list** 存储大量的数据
# (12,True,'alex',[1,2,3]) **tuple** 存储大量的数据,不可改变里边的元素。(list 与 tuple 的区别就是list 可以随意更改里边的元素 而tuple中不能更改里边的元素)
# {'name':'哈姆雷特'} **dict** 存储大量的关联数据,查询速度非常快。
# set 交集 ,并集,差集。。
2.int
#.主要用于计算 + - * /
#.不同禁止之间的转换。 10进制,2进制
注释:十进制与二进制之间的转换非常简单大家可以自行百度一下 ,基本上计算机专业的学生教材里都有详细介绍。
#.bit_length (有效的二进制的长度)
i = 4
print(i.bit_length()) # 3
i = 5
print(i.bit_length()) # 3
i = 42
print(i.bit_length()) # 4
3.str
3.1 索引&切片
s1 = 'python老男孩’
对字符串进行索引,切片出来的数据都是字符串类型。
3.1.1.按照索引取值
从左到右有顺序,下标,索引。
s2 = s1[0]
print (s2,type(s2))
s3 = s1[2]
print (s3)
s4 = s1(-1)
print (s4)
3.1.2.按照切片取值。(顾头不顾腚)
s5 = s1[0:6]
s5 = s1[:6] 这俩性质一样 开头的为0 可以不写·
print (s5)
第二个不加0那个你们可以自己尝试一下。
s6 = s1 [6:0]
s6 = s1 [6:]和上图的一样 0也可以省略
print (s6)
第二个不加0那个你们可以自己尝试一下。
3.1.3. 切片步长
s7 = s1[:5:2]
print s7
这里是以步长为2取得 其余步长你们可以试一下。
print (s1 [:])这个是全部取出
3.1.4.倒序
s8 = s1[-1:-6:-1]
print (s8)
按索引:s1[index]
按照切片: s1[start_index: end_index+1]
按照切片步长:s1[start_index: end_index+1:2]
反向按照切片步长: s1[start_index:end_index后延一位:2]
思考题:倒序全部取出来?
答案:s9 = s1[::-1]
print (s9)
3.2常用操作方法
3.2.1upper lower
不会对原字符串进行任何操作,都是产生一个新的字符串
upper lower
s1 = s.upper() 全部转换成大写
s1 = s.lower() 全部转换成小写
print(s1,type(s1))
应用:
username = input('用户名')# password = input('密码')
code = 'QweA'
print(code)
your_code = input('请输入验证码:不区分大小写')
if your_code.upper() == code.upper():
if username == '太白' and password == '123':
print('登录成功')
else:
print('用户名密码错误')
else:
print('验证码错误')
3.2.2 startswith & endswith
startswith endswith
s = ‘taiBAifdsa’
print(s.startswith(‘t’))
这里startswith判断开始的字母是不是’ t’ 如果是 True 不是的话就是False.
print(s.startswith(‘taiBAi’))
这里依然是True
了解
print(s.startswith(‘B’,3,6))
这里判断的是从第四个字母开始是不是’B’
结果依然是True
3.2.3 replace
msg = ‘alex 很nb,alex是老男孩的创始人之一,alex长得很帅’
msg1 =msg.replace(‘alex’,‘太白’) # 默认全部替换
msg1 =msg.replace(‘alex’,‘太白’,2)# 替换两个
print(msg)
print(msg1)
替换2个alex那个你们可以自己实验一下。
3.2.4strip
strip(可以去除空白 例如 空格 ,\t \n
s4 = ’ \n太白\t’
print(s4)
s5 = s4.strip()
print(s5)
这里可以看到去除了换行 去除了空格
。 **了解
可以去除指定的字符
s4 = ‘rre太r白qsd’
s5 = s4.strip(‘qrsed’)
print(s5)
3.2.5 split
默认按照空格分隔,返回一个列表
指定分隔符
str —> list
s6 = ‘太白 女神 吴超’
s6 = ‘太白:女神:吴超’
l = s6.split(’:’)
print(l)
了解:
s6 = ‘:barry:nvshen:wu’
print(s6.split(’:’))
print(s6.split(":",2))
3.2.6 join
join 非常好用
s1 = ‘alex’
s2 = ‘+’.join(s1)
print(s2,type(s2))
l1 = [‘太白’, ‘女神’, ‘吴超’]
#前提:列表里面的元素必须都是str类型
s3 = ‘:’.join(l1)
print(s3)
3.2.7 count(统计)
count
s8 = ‘sdfsdagsfdagfdhgfhgfhfghfdagsaa’
print(s8.count(‘a’))
3.2.8 format(格式化输出)
第一种用法:
msg = ‘我叫{}今年{}性别{}’.format(‘大壮’,25,‘男’)
print(msg)
第二种用法:
msg = ‘我叫{0}今年{1}性别{2}我依然叫{0}’.format(‘大壮’, 25,‘男’)
print(msg)
第三种用法:
a =100
msg = ‘我叫{name}今年{age}性别{sex}’.format(age=a,sex=‘男’,name=‘大壮’)
print(msg)
3.2.9 is系列
name = ‘taibai123’
name = ‘100①’
print(name.isalnum()) #字符串由字母或数字组成
print(name.isalpha()) #字符串只由字母组成
print(name.isdecimal()) #字符串只由十进制组成s1 = input(‘请输入您的金额:’)
if s1.isdecimal():
print(int(s1))
else:
print(‘输入有误’)
bool,int str之间的相互转换
‘’’
**
bool <------> int**
True 1
False 0
非零即True
0 是False
‘’’
‘’’
**
str <-------> int**
s1= 10
int(s1) : 必须是数字组成
i = 1000 str(i) 没有限制
‘’’
**
str --------> bool** 非空即True 空是False
空格是特殊字符
s1 = 空字符串
print(bool(s1))
s1 = ’ ’ 非空字符串(中间有个空格)
print(bool(s1))
**
bool ------->str** 无意义 print
(str(True))
‘’’
3.2.10 in
s1 = ‘老男孩edu’
print(‘老’ in s1)
print(‘老男’ in s1)
print(‘老ed’ ins1)
print(‘老ed’ not in s1)
s1 = ‘老男孩教育最好的讲师:太白’
‘’’
老 s1[0]
男 s1[1]
孩 s1[2]
教 s1[3]
育 …
最
…
‘’’
0~12
len :获取可迭代对象的元素总个数
print(len(s1))
4.for循环
for 循环
有限循环
for 变量 in iterable:
pass
s1 = '那是我最爱的姑娘呀 ’
for i in s1:
print(i)
for i in s1:
print(i)
if i == ‘娘’:
break
break continue
for else: while else:用法一样。