Python笔记【函数与数据类型】(1)

这篇笔记详细介绍了Python的函数与数据类型。包括id()和type()函数的使用,Python基本数据类型的特性,如变量赋值、多变量同时赋值,以及数字、字符串、列表、元组、集合和字典等六大数据类型的创建和操作。此外,还讨论了数据类型转换及编程中的小细节,如关键字不能用作变量名,内建函数不可作为变量名。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Python函数

1. id()

id([object])
参数:

object -- 对象

用法:返回 object 的内存地址。
实例:

a = 1	# 定义一个变量 a
print(id(a))	# 输出变量 a 的内存地址

输出结果:

1909210966320

2. type()

type([object])
参数:

object -- 对象

用法:返回 object 的类型
实例:

a = 1	# 定义一个变量 a
print(type(a))	# 输出变量 a 的类型

输出结果:

<class 'int'>

二、Python 基本数据类型

1. 变量无需声明,但在使用前必须赋值。

当变量被赋值后才会被创建。

变量没有类型,变量类型指的是变量所指的内存中对象类型

实例:

a = 1	# 定义一个整型变量 a
b = 1.0	# 定义一个浮点型变量 b
c = 'hello'	# 定义一个字符型变量 c

2. 多变量同时赋值。

实例1:

a = b = c = 1	# 定义 3 个整型变量 a、b、c 且均赋值为 1,赋值顺序从后向前

实例2:

# 定义 3 个变量并分别赋值为 1, 1.0, 'hello'
a, b, c = 1, 1.0, 'hello'
# 与下面的代码等价
a = 1
b = 1.0
c = 'hello'

3. 六个标准数据类型

(1)Number(数字)
(2)String(字符串)
(3)List(列表)
(4)Tuple(元组)
(5)Set(集合)
(6)Dictionary(字典)

可变数据:Number(数字)、String(字符串)、Tuple(元组)
不可变数据:List(列表)、Set(集合)、Dictionary(字典)

(1)Number(数字)

包括:

int
float
bool
complex

bool 只有 True 和 False 两个值
complex(复数) 表示为 [数字1] + [数字2] j,若数字2 为 0 也不可省略

数值运算

实例:

>>> 5 + 4  # 加法
9
>>> 4.3 - 2 # 减法
2.3
>>> 3 * 7  # 乘法
21
>>> 2 / 4  # 除法,得到一个浮点数
0.5
>>> 2 // 4 # 除法,得到一个整数
0
>>> 17 % 3 # 取余
2
>>> 2 ** 5 # 乘方
32

混合运算时整型会被转化为浮点型。

(2)String(字符串)

使用''或者""包围的一串字符构成字符串。
字符串截取操作可设置步长。
实例:

a = 'hello'		# 定义字符串 a
b = "bye"		# 定义字符串 b		
字符串运算操作

实例:

a = 'hello'		# 定义字符串 a
b = "bye"		# 定义字符串 b
c = 'a\n'		# 定义字符串 c
print (c)			# 输出字符串 c
print (a)       	# 输出字符串 a
print (a[0:-1])    	# 输出 a 第一个到倒数第二个的所有字符
print (a[0])       	# 输出字符串 a 第一个字符
print (a[2:5])     	# 输出 a 从第三个开始到第五个的字符
print (a[2:])      	# 输出 a 从第三个开始的后的所有字符
print (a * 2)      	# 输出字符串 a 两次,也可以写成 print (2 * a)
print (a + b) 		# 连接字符串 a 和 b
print (r'a\n')		# 输出字符串 'a\n'

输出结果:

a

hello
hell
h
llo
llo
hellohello
hellobye
a\n

(3)列表

列表是写在方括号[] 之间、用逗号分隔开的元素列表。
列表中的元素可相同也可不相同。
和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。
截取索引值 0 表示第一个元素,-1 表示最后一个元素。
截取操作还可设置步长。

列表基本操作
a = [1, 1.0, 'hello', 'bye']  # 定义一个列表 a
b = [1, 1.0]  # 定义一个列表 b
print(a)  # 输出完整列表 a
print(a[0])  # 输出列表 a 的第一个元素
print(a[1:3])  # 输出列表 a 从第二个开始输出到第三个元素
print(a[2:])  # 输出列表 a 从第三个元素开始的所有元素
print(b * 2)  # 输出两次列表 b
print(a + b)  # 拼接列表 a 和列表 b 并输出拼接后的完整列表

输出结果:

[1, 1.0, 'hello', 'bye']
1
[1.0, 'hello']
['hello', 'bye']
[1, 1.0, 1, 1.0]
[1, 1.0, 'hello', 'bye', 1, 1.0]

(4)元组

元组与列表类似,不过元组是写在(),用逗号隔开的元素列表。
元组中的元素不可修改。
元组中的元素类型也可以不相同。
元组的截取与字符串截取基本相同,可将字符串看成特殊的元组。
除缺少修改元素操作之外,元组基本操作与列表基本一致。

(5)集合

集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。
基本功能是进行成员关系测试和删除重复元素。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
集合中不可以有重复的元素。

集合的创建

实例1:

names = ['Mayue', 'Mayue', 'Lilin', 'Lilin', 'Wangqi']
print(names)
nameset = set(names)
print(nameset)

输出结果:

['Mayue', 'Mayue', 'Lilin', 'Lilin', 'Wangqi']
{'Lilin', 'Wangqi', 'Mayue'}

实例2:

aset = {1, 2, 3}
print(type(aset))

输出结果:

<class 'set'>
集合的基本操作
a = {1, 1.0, 'hello', 'bye'}
b = {1, 2, 1.0}
print(a)    	# 输出集合 a
print(a - b)  	# a 和 b 的差集
print(a | b)  	# a 和 b 的并集
print(a & b)  	# a 和 b 的交集
print(a ^ b)  	# a 和 b 中不同时存在的元素

输出结果:

{'bye', 'hello', 1}
{'bye', 'hello'}
{'bye', 1, 2, 'hello'}
{1}
{'bye', 2, 'hello'}

(6)Dictionary(字典)

列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。
键(key)必须使用不可变类型。
在同一个字典中,键(key)必须是唯一的。

字典的创建
# 直接创建字典
ainfo = {'Mayue': 3000, 'Lilin': 4500, 'Wuyun': 8000}
# 通过dict函数创建字典
info = [('Mayue', 3000), ('Lilin', 4500), ('Wuyun', 8000)]
binfo = dict(info)
print(binfo)

输出结果:

{'Mayue': 3000, 'Lilin': 4500, 'Wuyun': 8000}

4. 数据类型转换

int(x):将 x 转化为整型数;
float(x):将 x 转化为浮点型数;
str(x):将 x 转化为字符串;
eval(str):计算 str 中有效表达式并返回一个对象;
tuple(s):将 s 转换为一个元组;
list(s):将 s 转换为一个列表;
set(s):将 s 转换为一个可变集合;
dict(d):创建一个字典。d 必须是一个 (key, value)元组序列。
frozenset(s):将 s 转换为一个不可变集合。

三、小细节

1. 关键字不能用来当变量名

实例:

print = 1	# 定义一个变量 print
print(print)	# 输出 print

输出结果:

报错,print 为 Python 关键字

2. 内建函数不可作为变量名

实例:

str = 1	# 定义一个变量 str
a = 1	# 定义一个变量 a
print(str(a))	# 对 a 调用函数 str() 改变其类型

输出结果:

报错,str 为 Python 内建函数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值