标准数据类型
Python3 中有六个标准的数据类型:
- Number(数字)
- String(字符串)
- List(列表)
- Tuple(元组)
- Sets(集合)
- Dictionary(字典)
a = 10.
内置的 type(a) 函数可以用来查询变量所指的对象类型。
dir(a)可以查看内置函数名称,help()查看内置函数功能,或者help(type(a))。
n1 = 123
n2 = 123
Python内部优化, -5~256 ,占用同一内存地址。查看内存地址: id(变量名)
几本数据类型常用功能:
int类型
bit.length()
str类型
def capitalize(self): """ 首字母变大写 """
def center(self, width, fillchar=None): """ 内容居中,width:总长度;fillchar:空白处填充内容,默认无 """
def count(self, sub, start=None, end=None): """ 子序列个数 """
def endswith(self, suffix, start=None, end=None): """ 是否以 xxx 结束 """
def expandtabs(self, tabsize=None): """ 将tab转换成空格,默认一个tab转换成8个空格 """
def find(self, sub, start=None, end=None): """ 寻找子序列位置,如果没找到,返回 -1 """
def format(*args, **kwargs): # known special case of str.format """ 字符串格式化,动态参数,将函数式编程时细说 """
**************************
s = "hello {0}, age {1}"
print(s)
#{0} {1} 可以作为占位符
new1 = s.format("alex", 19)
print(new1)
**************************
def index(self, sub, start=None, end=None): """ 子序列位置,如果没找到,报错 """
跟find类似,但是find返回-1,index报错
def isalnum(self): def isalpha(self): def isdigit(self):
""" 是否是字母和数字 """ """ 是否是字母 """ """ 是否是数字 """
def join(self, iterable): ###iterable 可迭代的
""" 连接 """
********************************
li = ["alex", "lilei", "xiaoming"]
"_".join(li)
********************************
def ljust(self, width, fillchar=None): """ 内容左对齐,右侧填充 """
def replace(self, old, new, count=None): """ 替换 """
def lower(self): """ 变小写 """
def lstrip(self, chars=None): """ 移除左侧空白 """
def partition(self, sep): """ 分割,前,中,后三部分 """
def split(self, sep=None, maxsplit=None): """分割, maxsplit最多分割几次"""
字符串索引和切片
变量[头下标:尾下标]
索引值以 0 为开始值,-1 为从末尾的开始位置。>=头下标,<尾下标。
s = "alex"
s[0] 索引
s[0:2] 切片
len(s) 字符串长度
for item in s:
print(item)
List列表
变量[头下标:尾下标]
索引值以 0 为开始值,-1 为从末尾的开始位置。
list = [ ‘abcd‘, 786 , 2.23, ‘runoob‘, 70.2 ]
list[0] 索引
list[0:2] 切片
len(list) 列表长度
del list[1] 删除指定元素
for item in list:
print(item)
def append(self, p_object): """ 在列表后边追加元素 """
def count(self, value): """ 统计元素出现的次数 """
def extend(self, iterable): """ iterable,可迭代的(只要能用for循环的都是可迭代的),批量添加元素到列表 """
def index(self, value, start=None, stop=None): """ 获取某个元素 """
def insert(self, index, p_object): """ 在某个位置插入元素 """
def pop(self, index=None): """ 移除列表中尾部元素并返回这个元素 """
def remove(self, value): """ 移除某个元素 """
def reverse(self): """ 反转列表中元素顺序 """
tuple元祖
元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号(())里,元素之间用逗号隔开。
name_tuple = ("alex", "lilei", "xiaoming")
name_tuple[0]
name_tuple[0:2]
def count(self, value): """ 计算元素出现的次数 """
def index(self, value, start=None, stop=None): """ 获取指定元素的索引位置 """
dict字典
字典是一种映射类型,键值对,字典用"{ }"标识,它是一个无序的键(key) : 值(value)对集合。
user_info = { "name": "alex", "age": 73, "gender": "M"}
user_info["name"] 索引
user_info.keys() 获取所有的键
user_info.values() 获取所有的值
user_info.items() 获取所有的键值对
del user_info["name"]
for item in user_info: 默认循环输出的是键
print(item)
for k, v in user_info.items():
print(k, v)
def clear(self): """ 清除内容 """
def get(self, k, d=None): """ 根据key获取值,d是默认值 """
def items(self): """ 所有项的列表形式 """
def pop(self, k, d=None): """ 获取并在字典中移除 """
def update(self, E=None, **F): """ 更新 """
enumerate 为可迭代的对象添加序号
li = [11, 22, 33]
for key, item in enumerate(li, 1):
print(key, item)
作业:
一、元素分类
有如下值集合[11,22,33,44,55,66,77,88,99,90],将所有大于66的值保存至字典的第一个key中,将小于66的值保存至第二个key的值中。
二、查找
查找列表中元素,移动空格,并查找以a或A开头并且以c结尾的所有元素。
li = ["laec", "aric", "Alex", "Tony", "rain"]
tu = ("alec", "aric", "Alex", "Tony", "rain")
dic = {"k1": "alex", "k2": "aric", "k3": "Alex", "k4": "Tony"}
三、输出商品列表,用户输入序号,显示用户选中的商品
商品 li = ["手机", "电脑", "显示器", “游艇”]
四、购物车
功能要求:
要求用户输入总资产,例如:2000
显示商品列表,让用户更具序号选择商品, 加入购物车
购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功
附加:可充值,某商品移除购物车
goods = [
{"name": "电脑", "price": 1990},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998},
]
五、用户交互,显示省市县三级联动的选择
dic = {
"河北": {
"石家庄": ["鹿泉", "藁城", "元氏"],
"邯郸": ["永年", "涉县", "磁县"],
}
"河南": {
...
}
"山西": {
...
}
}