【Python】变量和简单的数据类型

目录

一、基本概念

(一)变量

(二)字符串

(三)数字

(四)注释

二、数据类型

(一)元组

(二)字典

(三)集合

(四)列表、元组、字典的区别

(五)列表

一、基本概念

语法突出:编辑器以各种方式突出程序的不同部分

(一)变量

变量的命名和使用

1、 变量名只能包含字母、数字、下划线。可以以字母或下划线开头,不能以数字开头

2、 不能包含空格,分隔单词可以使用下划线

3、 变量名不能是关键字或函数名

建议性规则

1、变量名应简短又具有描述性;

2、 慎用小写字母i和大写字母o,容易与数字1和0混淆。

3、 避免使用大写字母

(二)字符串

用引号括起的都是字符串,单引号、双引号都可以

1. 修改字符串的大小写

title() ——以首字母大写的方式显示单词

upper() ——将字符串改为全部大写

lower() ——将字符串改为全部小写

2.合并(拼接)字符串

使用加号(+)来拼接字符串

3.添加空白

\t 添加制表符

\n 换行

\n\t 换到下一行,并在下一行开头添加一个制表符

4.删除空白

rstrip() —— 删除字符串末尾的空白

lstrip() —— 删除字符串开头的空白

strip() —— 删除字符串两端的空白

(三)数字

1.整数

使用两个乘号(**)表示乘方运算

2.浮点数

带小数点的数字都称为浮点数

3.函数str()

将非字符串值表示为字符串

(四)注释

注释用井号(#)标识,#后面的内容会被编辑器忽略

二、数据类型

(一)元组

  • 列表是可以修改的,不可变的列表称为元组;

  • 元组使用圆括号来标识,可以用索引来访问其元素;

  • 元组变量不能直接修改,只能给存储元组的变量重新赋值。

(二)字典

  • 字典是一种映射类型,它的元素是键值对;

  • 字典的关键字必须为不可变类型,且不能重复;

  • 创建空字典使用 { };

  • 字典是无序的。

1.字典的常见方法

方法或操作功能描述
dicts.keys()返回字典的键
dicts.values()返回字典的值
dicts.items()返回字典的键值对
dicts.get(key,defualt)键存在则返回相应值,否则返回默认值
dicts.pop(key,defualt)键存在则返回相应值,同时删除键值对,否则返回默认值
dicts.popitem()随机从字典中取出一个键值对,以元组(key,value)的形式返回
dicts.clear()删除所有的键值对
key in dicts如果键在字典中返回True,否则返回False
dicts.copy()复制字典
dicts.update(dict2)更新字典,参数dict2为更新的字典

get()、 pop ()、popitem () 方法

  • 通过 get()方法可以返回键对应的值。如果 key 不存在,返回空值。 default 参数可以指定键不存在时的返回值。

  • 通过 pop()方法可以从字典中删除键,并返回对应的值。如果 key 不存在,返回 default 值,如果未指定 default 参数,则代码运行时会产生异常。

  • 通过 popitem ()方法可以从字典中删除并返回键值对。字典为空时,会产生 keyerror 异常。

copy()和 update ()方法

  • 通过 copy()方法可以返回一个字典的复本,但新生的字典与原字典的 id 是不同的,用户修改一个字典对象时,不会对另一个字典对象产生影响。

  • 通过 update()方法可以使用一个字典更新另一个字典,如果两个字典有相同的键存在,则键值对会进行覆盖。

(三)集合

1.概念

集合(set)是一个无序的不重复元素序列。它是可迭代的,没有重复元素(每个元素都是唯一的)。

  • 集合中的元素不能重复;

  • 集合中的元素是不可变的(不能修改),但整个集合是可变的;

  • 没有索引附加到python集中的任何元素。因此,它们不支持任何索引或切片操作。

2.操作

2.1 创建集合

set 的创建可以使用{ },也可以使用 set 函数,定义空集合只能用set()方法

l1 = set()
print(l1,type(l1)) # set() <class 'set'>
l1 = set('123456789')
print(l1,type(l1)) # {'3', '4', '1', '5', '2', '6', '9', '7', '8'} <class 'set'>
l2 = {1,2,3,4,5,6,7,8,9}
print(l2,type(l2)) # {1, 2, 3, 4, 5, 6, 7, 8, 9} <class 'set'>
​
l3 = set('112234456')
print(l3,type(l3)) # {'2', '3', '1', '5', '4', '6'} <class 'set'>
# 重复元素被删除掉
2.2 遍历集合
print(l3) # {'6', '1', '4', '3', '2', '5'}
for i in l3:
    print(i,end=" ") # 6 1 4 3 2 5 
2.3 添加元素 add()
"""添加元素"""
l3 = {'6', '1', '4', '3', '2', '5'}
l3.add(7)
l3.add(9)
l3.add(8)
print(l3) # {'6', 7, 8, 9, '2', '1', '3', '4', '5'}
2.4 删除元素 remove()
"""删除元素"""
l3 = {'6', '7', '8', '9', '2', '1', '3', '4', '5'}
# remove 方法 ,要删除的元素不存在时,就会报错
l3.remove('2')
l3.remove('5')
l3.remove('10') # KeyError: '10'
print(l3) # {'6', '4', '3', '1', '8', '9', '7'}
​
# discard 方法
l3.discard('2') # 删除不存在的元素时不会报错
l3.discard('3') 
print(l3) # {'6', '4', '1', '8', '9', '7'}
2.5 交集、并集、差集
"""交集、并集、差集"""
l1 = {2,3,5,7,9}
l2 = {1,4,5,6,8,9}
print(l1|l2) # 并集 {1, 2, 3, 4, 5, 6, 7, 8, 9}
print(l2-l1) # 差集 {8, 1, 4, 6}
print(l1-l2) # {2, 3, 7}
print(l1&l2) # 交集 {9, 5}
2.6 issubset()方法
"""判断是否为子集"""
l1 = {2,3,5,7,9}
l2 = {1,4,5,6,8,9}
l3 = {1,5,8}
print(l1.issubset(l2)) # False
print(l3.issubset(l2)) # True

(四)列表、元组、字典的区别

  • 列表储存值,是有序的、可遍历的,可以修改;
  • 元组有序、可遍历,不可修改;
  • 字典用键值对的方式表示,无序、可遍历,可以修改;
  • 集合,是一个无序的不重复序列。

list和dict的区别

dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。dict是直接在内部计算出key对应的value存放的内存地址,直接取出来,所以查找速度非常快。list是通过遍历整个列表,返回该值的下标。

和list比较,dict有以下几个特点:

  • 查找和插入的速度极快,不会随着key的增加而变慢;
  • 需要占用大量的内存,内存浪费多。

而list相反:

  • 查找和插入的时间随着元素的增加而增加;
  • 占用空间小,浪费内存很少。

dict是用空间来换取时间的一种方法。

注意:

  • dict的key必须是不可变对象。这是因为dict根据key来计算value的存储位置,如果每次计算相同的key得出的结果不同,那dict内部就完全混乱了。这个通过key计算位置的算法称为哈希算法(Hash)。
  • 要保证hash的正确性,作为key的对象就不能变。在Python中,字符串、整数等都是不可变的,因此,可以放心地作为key。而list是可变的,就不能作为key。

(五)列表

列表由一系列按照特定顺序排列的元素组成,用方括号[ ]来表示列表,并用逗号(,)来分隔元素

1.访问列表元素

 格式:

列表名[索引]

2.列表索引

第一个列表元素的索引为0,索引-1返回列表的最后一个元素,索引-2返回列表倒数第二个元素,以此类推。

 3.使用列表中的值

list = ['张三','29','男','未婚']
print(f'{list[0]},性别{list[2]},今年{list[1]}岁,婚姻状态是{list[3]}')
#张三,性别男,今年29岁,婚姻状态是未婚

4.修改、添加和删除元素

 4.1 修改列表元素

4.2 添加列表元素

append()  在列表末尾添加元素

insert()   在列表中插入元素,需要指定新元素的索引和值

a.insert(0, x)  会插入到整个列表之前,而 a.insert(len(a), x) 相当于 a.append(x) 。

 4.3 从列表中删除元素
del语句
  • 需要知道要删除的元素在列表中的位置,例如:del a[2],表示删除列表a中的第3个元素;
  • list.clear(): 移除列表中的所有项,等于del a[:]。

pop()
  • 删除列表末尾的元素,并能继续使用该元素。列表就像一个栈,而删除列表末尾的元素相当于弹出栈顶元素,pop()方法有返回值,返回值即为栈顶元素。
  • 可以使用pop()弹出任意位置的元素,只需要在括号里加上元素的索引,例如:a.pop(2)表示弹出列表a中的第三个元素。

remove()
  • 不知道元素的位置,只知道元素的值,可以使用remove()方法。

5.组织列表

5.1 sort() 
  • sort() 按首字母顺序排列,永久性修改。
  • 向sort() 传递参数reverse=True,则列表按与字母相反的顺序排列
5.2 sorted() 
  • 对列表临时排序(字符里大小写都有时情况比较复杂)
5.3 reverse() 
  • 倒着打印列表,永久性修改
5.4 len()
  • 确定列表的长度,有返回值
5.5 list.copy()
  • 返回列表的浅复制,等于a[:]

6.操作列表

6.1 遍历
  • for 循环:对于for循环,每个缩进的代码行都是循环的一部分,且将针对列表中的每个值都执行一次。
list = [1,2,3,4,5,6,7,8]
for i in list:
    print(i,end=" ")
#1 2 3 4 5 6 7 8
6.2 range() 
  • range()方法的作用是生成随机整数,从指定的第一个数值开始数,到指定的第二个数值后停止,左闭右开。
for i in range(0,9):
    print(i,end=",") # 0,1,2,3,4,5,6,7,8,
  • 使用range() 创建数字列表:可以使用list() 函数直接将range() 的结果转换为列表,将range() 作为list() 的参数即可。
num = list(range(1,9))
num1 = list(range(1,9,2)) #指定步长
print(num,num1) #[1, 2, 3, 4, 5, 6, 7, 8] [1, 3, 5, 7]
6.3 列表解析
#使用列表公式
numbers = [i**2 for i in range(1,9)]
print(numbers) #[1, 4, 9, 16, 25, 36, 49, 64]
6.4 列表切片
# 列表切片
l1 = num[2:] #[3, 4, 5, 6, 7, 8]
l2 = num[:4] #[1, 2, 3, 4] 左闭右开
l3 = num[:] #[1, 2, 3, 4, 5, 6, 7, 8]
print(l1,l2,l3)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值