Python变量
变量:在程序执行过程中会产生数据
数据的存储需要变量
随着程序的执行,数据会发生变化,变量的值就发生了变化
变量定义规范
- 1.包含字母、数字、下划线、其中数字不能开头(1_a=10为错误)
- 2.变量不能使用关键字(if/else/def)
- 3.变量名字区分大小写(a1不等于A1)
- 4.变量名如果有多个单词要使用下划线链接(ten_value = 10)
- 5.变量名要有意义
python 中的保留字 会展示特殊颜色的字
获取python中所有的关键字 保留字
import keyword
print(keyword.kwlist)
Python数据类型
数字类型(Number)
Python3中有3种数据类型:int(整型)、float(浮点型)、complex(复数)。
Python3的整型没有限制大小,可以当作Long类型来使用,且bool是整型的子类型。
# 整型int,浮点型float
a=2
b=2.6
print(a,b,type(a),type(b),isinstance(a,int))
# 输出结果为
# 2 2.6 <class 'int'> <class 'float'> True
布尔类型(Boolean)
布尔类型是与逻辑相关的一种数据类型,且只有True和False两个值。(注意:布尔值可以相加,相加之后类型就会转换为int类型)
# 2.布尔型Boolean
c=True
d=False
d=c+d
print(type(c),type(d),d)
# 输出结果
# <class 'bool'> <class 'int'> 1
字符串类型(String)
在Python变量定义中,通过单引号和双引号引起来的值就是字符串str类型。
字符串索引
字符串正索引a[i]从0开始表示首个字符,负索引a[-1]从-1开始表示字符串末尾的字符。
字符串截取、拼接和复用
a = b[begin, end, step],begin表示开始位置,默认为0,end表示结束位置,默认为变量长度,step表示步长,默认为1。例如:a【i,j】,表示从位置i开始到位置j结束,其中截取的字符串不包括位置j。
注意:切片中负索引的使用并不是表示从尾到头的获取,索引只是限制了数据获取的范围。
步长才是确定读取顺序,如果步长为负数,则是从尾到头读取,如果是正数,则是从头到尾读取。
列表类型(List)
列表是经常用到的数据类型,其元素可以是字符串、数字、列表、元组等自定义的对象。列表是以[]定义,用英文逗号分隔开的集合,元素是可以重复的。
列表中的操作通常包含索引、切片、in和not in、len、操作符+和*、添加/删除/查询元素、排序和反转、将元组、字符串等序列转换成列表(不会修改原有的序列)。
列表的索引和切片与字符串一致,此处不做赘述。
接下来将介绍在列表中的部分操作:
in和not in
判断某个值是否存在于列表中,若存在则返回True,否则返回False(注意:存在是指和列表的某个元素相同)。
store = [[65, 33], '女', 'wang', 24, 2.3]
print("wang" in store)
print("33" in store)
print("女" not in store)
# 输出结果
True
False
False
len()
len()方法返回列表元素数量
store = [[65, 33], '女', 'wang', 24, 2.3]
print(len(store))
# 输出结果
5
添加/删除/查询元素
添加元素
# append
store = [[65, 33], '女', 'wang', 24, 2.3]
store.append("王菜鸟")
print(store)
store.append([66, 68])
print(store)
# extend
store.extend(["Kevin",168])
print(store)
# insert
store.insert(2,999)
print(store)
# 输出结果
[[65, 33], '女', 'wang', 24, 2.3, '王菜鸟']
[[65, 33], '女', 'wang', 24, 2.3, '王菜鸟', [66, 68]]
[[65, 33], '女', 'wang', 24, 2.3, '王菜鸟', [66, 68], 'Kevin', 168]
[[65, 33], '女', 999, 'wang', 24, 2.3, '王菜鸟', [66, 68], 'Kevin', 168]
删除元素
print(store.pop(2))
store.remove('Kevin')
print(store)
store.clear()
print(store)
# 输出结果
999
[]
[]
查询元素
store = [[65, 33], '女', 'wang', 24, 2.3,24]
print(store.index('女'))
print(store.count(24))
# 输出结果
1
2
排序(sort)和反转(reverse)
排序(sort)
格式:list.sort(key=None, reverse=False)
key – 指定带有一个参数并返回一个对象的函数,用于从列表中的元素提取需要比较的内容
sort()默认升序排序,即reverse=False,降序reverse=True
list1 = [22, 11, 25, 98, 72, 68, 49]
list1.sort()
print(list1)
list1.sort(reverse=True)
print(list1)
# 输出结果
[11, 22, 25, 49, 68, 72, 98]
[98, 72, 68, 49, 25, 22, 11]
注意:sort中key参数的用法
# 按照总分成绩降序排名
list1 = [[97, 54, 93], [59, 78, 83], [44, 64, 97], [83, 79, 73]]
def sum_scores(scores):
return scores[0] + scores[1] + scores[2]
list1.sort(key=sum_scores, reverse=True)
print(list1)
# 输出结果
反转(reverse)
reverse:排序规则,reverse = True 降序, reverse = False 升序(默认)。
list1 = [22, 11, 25, 98, 72, 68, 49]
list1.reverse()
print(list1)
# 输出结果
[49, 68, 72, 98, 25, 11, 22]
list()
将元组、字符串等序列转成列表(不会修改原有的序列)。
# 元组
tup = (22, 86, 26, 35)
print(list(tup))
print(tup)
# 字符串
str1 = "Happy New Year"
print(list(str1))
print(str1)
# 输出结果
[22, 86, 26, 35]
(22, 86, 26, 35)
['H', 'a', 'p', 'p', 'y', ' ', 'N', 'e', 'w', ' ', 'Y', 'e', 'a', 'r']
Happy New Year
集合(Set)
集合Set是一个无序且不可重复的序列,使用{}或set()函数进行创建,如果想创建一个空集合必须用 set() ,{ } 是用来创建一个空字典的。
注意:集合(Set)只存储不可变的数据类型,如Number(数字)、字符串、元组等,而无法存储列表、字典、集合这些可变的数据类型。
set1 = set({"Kevin", "Lucy", "Toke", 24})
print(set1)
set2 = set("wang")
print(set2)
set3 = set({22, 33})
print(set3)
# 输出结果
{'Toke', 24, 'Lucy', 'Kevin'}
{'w', 'g', 'n', 'a'}
{33, 22}
字典类型(Dictionary)
字典以键值对(key: value)的方式存储对象。
1、键(key)在字典中必须是唯一的,且键是不可变的数据类型,如字符串、数字、元组。如果创建时键被赋值多次,最后一个值才被存储。
2、值(value)可以是任意对象,比如None、数值、字符串、字典等。
dict1 = dict()
print(len(dict1), type(dict1))
dict2 = {}
print(len(dict2), type(dict2))
# 如果创建时键被赋值多次,最后一个值才被存储
dict3 = {"a": "Kevin", "b": "Lucy", "a": "Toke"}
print(dict3)
# 输出结果
0 <class 'dict'>
0 <class 'dict'>
{'a': 'Toke', 'b': 'Lucy'}