python学习笔记之变量,高级变量类型

本文详细介绍了Python编程中的变量概念,包括变量的定义、命名规则和赋值方法。此外,深入讲解了Python的五种标准数据类型:数字(Numbers)、字符串(String)、列表(List)、元组(Tuple)和字典(Dictionary)。对于每种数据类型,文章阐述了它们的特点、常用操作以及示例,帮助读者理解如何在实际编程中运用这些数据结构。
摘要由CSDN通过智能技术生成

一、变量

1.变量的定义

变量来源于数学,是计算机语言中能储存计算结果或能表示值的抽象概念。可以通过变量名访问。在Python中,每个变量在使用之前都需要赋值,变量只有在赋值之后才能被创建,例如:yuan = 1,其中yuan就是变量名,给他赋的值就是常量1,在将长常量1赋值给yuan这个变量后,yuan就被创建了。在python中,变量创建之后就可以直接使用。
与其它语言的区别:定义变量不需要声明变量类型,变量的类型完全等于你所赋值的常量或变量的类型。

2.变量的命名

如何去定义一个变量,变量命名也有他的命名规则。

  • 变量名可以由字母、下划线和数字组成
  • 变量名不能以数字开头
  • 变量名不能与在Python中已定义的变量名重名
  • 变量名区分大小写
  • 定义变量名时,建议在=的左右两边各保留一个空格
  • 变量名由两个或多个单词组成时,每个单词都应使用小写字母,并且单词与单词之间用下划线连接。如:yang_yun
  • 变量名由两个或多个单词组成时,还可以用驼峰命名法来命名,驼峰命名法分为小驼峰式命名法,命名规则为第一个单词以小写字母开始,后续单词的首字母大写如:yang_Yun,另一种为大驼峰式命名法,即每一个单词的首字母都大写。如:YangYun
  • 假如是用pycharm开发Python程序,定义变量名遇到拼写错误的警告, 可以选择重新定义变量名或者将此变量名加入字典中来消除警告。

3.变量的赋值

3.1 变量的常规赋值

最常见的赋值方式就是直接用=连接变量名与值。如 yang = 1。

3.2多个变量赋值

Python允许你同时为多个变量赋值。例如:
yang = yun = 1。yang, yun = list(), dict()。

4.数据类型

Python有五个标准的数据类型:

4.1 Numbers(数字)

数据类型用于存储数值,他们是不可改变的数据类型,想要改变的话会重新分配一个新的对象。

4.1.1 python有四种不同的数字类型
  • int (有符号整型) 【常用】
  • long (长整型[也可代表八进制和十六进制])
  • float (浮点型) 【常用】
  • complex (复数)

其中注意的是long类型只存在于Python2.x版本中,在Python3.x中long类型被移除,使用int代替。

4.1.2 数字类型之间的相互转换

通用(常用)转换:

函数描述
int(x)将x转换成一个整数
long(x)将x转换成一个长整数
float(x)将x转换成一个浮点数)
4.2 String(字符串)

字符串或串是由数字,字母,下划线组成的一串字符。它是Python中表示文本的数据类型。一般被单引号或双引号包裹。
如: yangyun = ‘yangyun’

4.2.1 字符串常用操作方法
4.2.1.1 替换

str.replace():指定替代字符和被替代字符,返回替代结果。
str.center():将字符串放入中心位置可指定长度以及位置两边字符。
str.swapcase() 大写变小写,小写变大写。
str.title() 变成标题。

4.2.1.2 删除

str.strip() 删除字符串两边指定的字符,默认为空格。
str.lstrip() 删除左边的的指定字符,默认为空格。
str.rstrip() 删除右边的指定字符,默认为空格。

4.2.1.3 赋值

= " " 或 = ’ ’

4.2.1.4 连接

“+”:连接两个字符串,此方法被称为“万恶的加号”,因为每n个字符串相连,就会开辟n-1次内存从存储拷贝, 是非常耗费资源的。
str.join(): 连接两个字符串, 可指定连接符号。

4.2.1.5 比较

str.cmp: 比较两个对象,并根据结果返回一个整数。(python3中已无此方法)
直接if判断两个字符串是否相等进行比较。

4.2.1.6 查找

str.index():检测字符串中是否包含子字符串str,可指定范围。
str.find():检测字符串中是否包含子字符串str,可指定范围。

4.2.1.7 分割

字符串切片:
str[0:3] # 截取第一位到第三位的字符
str[ : : -1] # 创造一个与原字符串顺序相反的字符串
str[: -5 : -3] # 逆序截取,截取倒数第五位数与倒数第三位数之间。
str.split(): 按指定字符切割,返回数组。
str.partition(): 按指定字符切割, 返回元组。
根据换行切割:
str.splitlines()

4.2.1.8 统计

str.count():统计某个字符出现的频率。
len(str): 返回字符串的长度。

4.3 List(列表)

列表是Python中使用最频繁的数据类型。他支持字符,数字,字符串,包括嵌套列表。
列表用 [ ] 标识。

4.3.1 列表的常用操作方法
4.3.1.1 列表的创建

创建一个空列表:list1 = [] 或 list1 = list()
创建一个非空列表:list = [‘yang’,‘yun’,‘zhang’]

4.3.1.2 列表的访问

与字符串的索引一样,列表索引从0开始,列表可以进行截取,组合等
遍历列表:

for i in list:
	print(i)

访问列表中的值:

list = [1, 2, 3, 4, 5,  6]
print(list[3])  # 使用下标索引来访问
printlist[0:3])  # 使用方括号的形式截取字符
4.3.1.3 列表的更新

列表添加新的元素:

list.append()  # 在列表结尾添加元素
list.insert()  # 插入一个元素,选择插入位置和插入元素
list.extend()  # 扩展列表,在一个列表末尾一次性追加另一个序列中的多个值。
4.3.1.4 列表的删除

从列表删除数据:

list.remove()  # 可指定删除元素,如有重复元素,只会删除最靠前的
list.pop()  # 可删除指定位置的元素,默认为最后一个元素
del list  # 可以删除整个列表或指定元素或者列表切片,列表删除后无法访问
4.3.1.5 列表的其它操作

列表的排序:

list.reverse()  # 反转排序
list.sort()  # 可制定排序参数

列表其它操作:

len(list)  # 列表元素个数
max(list)  # 返回列表最大值
min(list)  # 返回列表最小值
list(seq)  # 将元组转换为列表
4.4 Tuple(元组)

python元组与列表类似,不同之处在于元组的元素不能更改,元组使用小括号,列表使用方括号。

4.4.1 元组的创建

创建元组:

tuple1 = (1, 2, 3, 4, 5)
tuple1 = ()  # 创建一个空元组
tuple1 = (50,)

元组中只包含一个元素时,需要在元素后面添加逗号来消除歧义。

4.4.2 元组的访问

元组与字符串相似,下标索引从0开始,可以进行截取,组合
访问元组:

print(tuple1[0])
print(tuple[1:5])
4.4.3 元组的修改

元组中的值是不允许修改的,但我们可以对元组进行连接组合。

tuple1 = (12, 34)
tuple2 = ('abc', 'xyz')
tuple3 = tuple1 + tuple2
print(tuple3)
4.4.4 元组的删除

元组中的元素值是不允许被删除的,但我们可以用del语句来删除整个元组

del tuple1
4.4.5 元组的其他操作
4.5 Dictionary(字典)

字典也是Python提高的一种常用的数据结构,他用于存放具有映射关系的数据。字典相当于保存了两组数据,其中一组数据是关键数据,被称为key;另一组可通过key来访问,称为value。
字典中的key不允许重复。
key和value的关联关系如图所示:

一个key对应一个value

4.5.1 dict 的创建
  • 可使用花括号来创建字典。
  • 也可使用dict() 来创建字典。
    例:
yang = {"杨": "张"}
yang = dict()  # 空字典
4.5.2 dict 的访问
  • 通过key值访问value。
  • 通过key值添加key-value对。
  • 通过key值删除key-value对。
  • 通过key修改key-value对。
  • 通过key判断key-value值是否存在。
  • 通过key访问value使用的也是方括号语法,只是此时方括号中不再是索引,而是key。
dict1 = yang['杨']  # key值访问value
print(dict1)  # 张  
yang['云'] = yun  # key 添加value
del yang['云']  # 删除key-value
yang['杨'] = yang  # 已存在的key-value重新赋值
print('yuan' in yang]  # 判断是否有key  False

字典key相当于value的索引
列表不允许对不存在的索引赋值, 但字典则允许直接对不存在的key赋值。

4.5.3 字典的常用方法
  • clear()
    用于清空字典中所有的key-value对, 对一个字典执行clear()方法之后,该字典就会变成一个空词典。
dict.clear()
  • get()
    根据key来获取value,它相当于方括号的增强版,当使用方括号语法访问并不存在的key时,字典会引发keyError错误,但如果使用get()方法访问不存在的key值,该方法会简单返回None,不会导致错误。
dict.get('key')
  • update()
    update()方法可使用一个字典所包含的key-value对来更新已有的字典。在执行update()方法时,如果更新的字典包含对应的key-value对,那么原value就会被覆盖。如果不存在,则会添加进去。
dict.update({key:value})
  • items()
    items() 用于获取字典中的所有key-value对。
list(dict.items())  # 转换为list
  • key()
    获取所有的key
list(dict.key())
  • values()
    获取所有的value
list(dict.values)
  • pop()
    pop()方法用于获取指定key对应的value,并删除这个key-value对。
dict.pop('key')
  • popitem()
    popitem() 方法用于随机弹出字典中的一个key-value对。弹出一个元组,可以通过序列解包分别接收key和value。
dict.popitem()
  • setdefault()
    setdefault()方法也用于根据key值来获取对应value的值。但该方法有一个额外的功能,即当程序要获取的key在字典中不存在时,该方法会先为这个不存在的key设置一个默认的value, 然后再返回该key对应的value。
dict.setdefault('key', 'default')
  • fromkeys()
    fromkeys() 方法使用给定的多个key创建字典,这些key对应的value默认都是value;该方法一般不会使用字典对象调用(没什么意义),通常会使用dict类直接调用。
dict.formkeys((key1, key2), 'value')
4.6 Set(集合)

集合是一个无序的,不重复的数据组合

4.6.1 集合的创建
  • 赋值方式
s = {1, 2, 3, 1, 2, 3}  # type(s) => set

列表不支持创建集合

  • 工厂方式
li = [1, 2, 3, 4]
yuan = set(li) # type(yuan) => set

集合可以用来作列表去重

4.6.2 集合的方法
  • add()
    在集合内添加一项
  • update()
    在集合中添加多项,跟的参数应该是可迭代对象
s.update([1, 4, 5])
  • remove()
    删除集合中指定的元素, 若元素不存在则报错
  • pop()
    随机删除集合中的某个元素,并返回删除的元素
  • discard()
    删除集合中指定的元素,若元素不存在则不做任何事
  • clear()
    清空所有集合
4.6.3 集合的关系操作
  • 交集
set1 & set2  # 取两个集合相同的地方
set_1.intersection(set_2)  # 取两个集合相同的地方
  • 并集
set_1 | set_2  # 将两个集合合并,去重
set_1.union(set_2)
  • 差集
set_1 - set_2  # 取前一个集合在后一个集合中不同的值
set_1.difference(set_2)
  • 对等差分
set_2 ^ set_2  # 取两个集合中不同的值
set_1.symmetric_difference(set_2)
  • 子集
set_1.issubset(set_2)  # 子集 
  • 父集
set_1.issuperset(set_2)  # 父集
  • 有无交集
set_1.isdisjoint(set_2)  # set_1和set_2是否有交集 => true or false 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值