栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python的数据类型

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python的数据类型

Python的数据类型
  • mutable(可变)
    1、list – 列表
    2、dict – 字典
    3、set – 集合(不包含重复元素)
  • immutable(不可变)
    1、int – 整型
    2、float – 浮点型
    3、str – 浮点型
    4、tuple – 元组
作为函数参数的时候
  • 可变数据类型:
    函数传递的形式是地址传递,外部定义的变量作为实参被调用时,会跟随函数里面的操作进行改变。
    例如:
def bubble_sort(arr):
	n = len(arr)
	for i in range(n-1):
		for j in range(n-i-1):
			if arr[j]>arr[j+1]:
				arr[j],arr[j+1] = arr[j+1],arr[j]

if __name__ == "__main__":
	arr = [5,6,20,14,23,98]
	bubble_sort(arr)
	print(arr) # 这里的输出,会是已经排好序的列表

如果我们不想要 外部定义的变量作为实参被调用时,会跟随函数里面的操作进行改变,只需要在函数开头,对形参进行一次copy(),即可。

def bubble_sort(arr):
	# 只需要加这一行代码,即可
	arr = arr.copy()
	n = len(arr)
	for i in range(n-1):
		for j in range(n-i-1):
			if arr[j]>arr[j+1]:
				arr[j],arr[j+1] = arr[j+1],arr[j]

if __name__ == "__main__":
	arr = [5,6,20,14,23,98]
	bubble_sort(arr)
	print(arr) # 这里的输出,依然是我们定义的列表,不会改变
  • 不可变数据类型
    函数传递的形式是值传递,外部定义的变量作为实参被调用时,不会跟随函数里面的操作进行改变。
    比如:
def func(a):
	a = 5
	print("func内:",a)

a = 2
func(a)
print("func外:",a) # 这里的a 还是等于 2

如果我们想要改变,只需要在函数里面,加一个return,即可

def func(a):
	a = 5
	print("func内:",a)
	return a

a = 2
a = func(a)
print("func外:",a) # 这里的a 就变成了 5
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/444443.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号