Python之路-基本数据类型

时间:2023-03-08 18:51:22
Python之路-基本数据类型
一.数据类型
1.数字
包含整型和浮点型,还有复数
2.字符
长度,索引,切片也适用于列表的操作
长度 len()
索引 index()
切片 name[0:8] 左闭右开
name[-6:]
name[0::2] #2 步长
3.列表
增删改查
4.列表和元组的差别
  列表内容可修改,而元组内容不可修改(不可变性)
5.字典
二.数据类型的方法
类所含有的所有方法中 带有两个下划线的就是内置函数,暂时不用理会(面向对象的时候会用到)
例如
n1 = 2
n2 = 3
print(n1 + n2) =======>print(n1.__and__(n2)) 实际上调用的时这个内置函数
  • int类
    1.bit_length  用二进制表示数字时,所需要的最小位数
例如
n1 = 4 ====> 100
print(n1.bit_length()) ====> 3
  • str类
1.capitalize(self)
首字母大写
2.casefold(self)
所有字母变小写,包括拉丁文等
3.center(self, width, fillchar=None)
字符串居中显示,可填充位宽和填充符(默认空格)
4.count(self, sub, start=None, end=None)
计算字符串中子序列的出现次数,可指定起始和终止位
5.endswith(self, suffix, start=None, end=None)
判断字符串以suffix结尾
6.expandtabs(self, tabsize=8)
扩充tab位宽(转换为空格),默认8位
7.find(self, sub, start=None, end=None)
寻找元素或者子序列,找不到返回-1
8.format(*args, **kwargs)
格式化输出使用
9.index(self, sub, start=None, end=None)
查询元素或子序列的索引,没有找到会报错
10.isalnum(self)
是否是数字或者字母
11.isalpha(self)
是否是字母
12.isdecimal(self)
是否是十进制数字
13.isdigit(self)
是否是数字
14.isidentifier(self)
是否是可用的标识符
15.islower(self)
是否是小写
16.isnumeric(self)
是否是数字,可判断“一”,“I”
17.isprintable(self)
是否可打印
18.isspace(self)
是否是空格
19.istitle(self)
是否是标题,每个单词首字母大写
20.isupper(self)
是否是大写
21.join(self, iterable)
把字符串作为连接符,连接到一个可迭代的对象中
22.ljust(self, width, fillchar=None)
左对齐,参照center
23.lower(self)
所有字母变小写
24.lstrip(self, chars=None)
去掉字符串左边的空格,\t,\n
25.partition(self, sep)
从左边分割,前,中,后三部分,返回元组,其中seq为中
26.replace(self, old, new, count=None)
替换,count计数(替换几次)
27.rfind(self, sub, start=None, end=None)
从右边开始寻找
28.rindex(self, sub, start=None, end=None)
从右边开始索引
29.rjust(self, width, fillchar=None)
右对齐,参见center
30.rpartition(self, sep)
从右边分割,前,中,后三部分,返回元组,其中seq为中
31.rsplit(self, sep=None, maxsplit=-1)
从右边开始进行字符串分割,返回值是分割后的列表,不含seq
32.rstrip(self, chars=None)
去掉字符串右边的空格,\t,\n
33.split(self, sep=None, maxsplit=-1)
从左边开始进行字符串分割,返回值是分割后的列表,不含seq
34.splitlines(self, keepends=None)
按照换行符分割
35.startswith(self, prefix, start=None, end=None)
是否以prefix开头
36.strip(self, chars=None)
默认去掉字符串前后的空格,\t,\n
37.swapcase(self)
字符串中大小写互换
38.title(self)
将字符串变成标题,即每个单词首字母大写
39.upper(self)
字母变大写
40.zfill(self, width)
左边以0填充width的字符串
  • list类
1.append(self, p_object)
在列表最后添加p_object
2.clear(self)
清空列表(但推荐使用 l =[]清空)
3.copy(self)
复制这个列表,拷贝的只是这个列表中元素的引用
4.count(self, value)
计算对应元素在列表中出现的次数
5.extend(self, iterable)
在原列表中扩展一个可迭代的对象
6.index(self, value, start=None, stop=None)
查找元素的索引值,可指定起始和终止的位置,没有找到会报错
7.insert(self, index, p_object)
在指定位置插入元素
8.pop(self, index=None)
删除指定位置的元素,默认为最后一个
9.remove(self, value)
移除左边起第一个值为value的元素,如果没有会报错
10.reverse(self)
列表元素反转
11.sort(self, key=None, reverse=False)
排序,同一类可排序,默认以字符的ASCII升序,改reverse可降序
  • tuple类
1.count(self, value)
计算元组中元素出现的次数
2.index(self, value, start=None, stop=None)
返回元组中元素的索引
  • dict类
1.clear(self)
清空字典
2.get(self, k, d=None)
返回所选key的值,没有返回None
3.items(self)
字典的键值对
4.keys(self)
字典的键
5.pop(self, k, d=None)
删除字典中键为k的键值对,返回删除的值
6.popitem(self)
随机删除一个键值对,并返回删除的键值对的元组
7.update(self, E=None, **F)
利用字典对前一个字典进行内容更新
8.values(self)
字典的值
三.作业

#作业一: 跳出多层循环,三层循环,在最里层,直接跳出
exit_flag = True                                 #退出的标志位
for i in range(3):
if exit_flag == True:
print('i---->',i)
for j in range(3):
if exit_flag == True:
print('j--->',j)
for k in range(3):
print('k--->',k)
if k==1:
exit_flag = False
break
else:
break
else:
break
print('last line!')
# 作业二: 购物车程序:
#你可以买下的东西:1 iPhone:5800 2 coffee 30 3 book 50 4 condom 90
#选择你要买的东西
#判断是否买的起
#放入购物车,扣钱,打印余额
#还可以继续选择购买
money = int(input("请输入你有多少元:"))
goods = ['iphone', 'coffee','book','shirt','chocolate'] #商品列表
price = [ 5800,300,500,1000,50] #商品单价
buy_num = [0,0,0,0,0] #加入购物车每一种商品的个数
total = 0 #加入购物车一共有几件,作为是否有够买商品的判断
exit_flag = True #退出标志位
remain_money = money #剩余的钱
print("我们商店有以下的商品:")
for i in range(goods.__len__()): #打印商品列表
print(i,goods[i],price[i]) while exit_flag == True:
number = int(input("请输入你想买的商品标号:"))
if number >= goods.__len__():
choice = input("商品不存在,退出?(y,n)")
if choice == "y":
exit_flag = False
else:
count = int(input("请输入你想买几件:"))
buy_num[number] +=count #在buy_num中到对应位置存下购买商品个数
remain_money = remain_money - price[number]*count #扣钱
if remain_money >= 0:
print("你还有",remain_money,"元")
choice = input("退出?(y,n)")
if choice == "y":
exit_flag = False
else:
print("钱不够了!!!")
remain_money = remain_money + price[number]*count #没有购买成功,操作前的钱和购买数量
buy_num[number] -=count #没有购买成功,操作前的钱和购买数量
print("你还有",remain_money,"元","你选择的商品需要花费",price[number]*count,"元")
choice = input("退出?(y,n)")
if choice == "y":
exit_flag = False for i in range(buy_num.__len__()):
total += buy_num[i] if total == 0:
print("你没有购买任何商品")
else:
print("------------------------------购物清单---------------------------------")
print("你购买了以下商品:")
for i in range(buy_num.__len__()):
if buy_num[i] > 0:
print(goods[i],'----',buy_num[i],'个')
print('你还有',remain_money,'元')