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) # 这里的输出,会是已经排好序的列表
1
2
3
4
5
6
7
8
9
10
11
如果我们不想要 外部定义的变量作为实参被调用时,会跟随函数里面的操作进行改变,只需要在函数开头,对形参进行一次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) # 这里的输出,依然是我们定义的列表,不会改变
1
2
3
4
5
6
7
8
9
10
11
12
13
不可变数据类型:


函数传递的形式是值传递,外部定义的变量作为实参被调用时,不会跟随函数里面的操作进行改变。
比如:
def func(a):
    a = 5
    print("func内:",a)

a = 2
func(a)
print("func外:",a) # 这里的a 还是等于 2
1
2
3
4
5
6
7
如果我们想要改变,只需要在函数里面,加一个return,即可

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

a = 2
a = func(a)
print("func外:",a) # 这里的a 就变成了 5
————————————————
转自:www.weidianyuedu.com/content/2914568143106.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值