python swap

swap里面的a,b 不会影响函数作用域外面的变量
java也不可以的吧;python里面没有指针,你可以认为所有的东西都是指向的内容,但是不要试图去改变指针的值
其实我觉得所有的对象都是不可变对象,所谓的可变对象,如列表等,只是常用的操作是可变操作而已(如:append)
a[0] = 1也会变啊,这些改的并不是列表本身,而是列表中的元素
数组本身的地址没变,但是里面的元素可变
a = [1] 这样就完全改了
所以没什么是可变的,都是不可变的,所谓可变并不是实际可变,只是常用操作没有改变
只能传type* 或者vector
哪有什么指针,都是对象

go更混乱了
def change(a):
a.name = 'b'
return a
按照python的思路,肯定是这样的写法,函数就应该有明确返回
java 列表、数组遇到多线程时,各种并发错误烦死人
http://www.cnblogs.com/xiaoQLu/archive/2013/04/10/3011561.html
按照python的思路,肯定是这样的写法,函数就应该有明确返回

一句一句来,第一个val.append(100),并没有修改列表,只是往列表里面加一个元素,并不会引起列表的引用改变,外部nums的列表引用和内部val是同一个,所以nums=[0, 1, 100];而val = ['T', 'Z', 'Y'] 这一句,是完全改变了列表,列表归根究底是不可变的,所以此时val变成了一个全新的列表['T', 'Z', 'Y'],并且分配了一个地址,最后函数没有返回值,所以val在这个语句之后就会被回收,没有造成任何影响;
//python不能修改引用(变量) 可以修改对象
任何对象都是不可变的
所谓的可变对象只是常用操作没有改变对象本身,只是改变某一个属性
如果真要区分可变对象不可变对象,不如说是可哈希化和不可哈希化
如人类 与 对象你自己
对象(你自己)是不可变的,是具体的;但你的身高,体重等属性却是可变的
python swap的更多相关文章
- Swap 2 Variables in Python
In Python, it's concise, easy and faster to swap 2 variables compared in other Programming languages ...
- 【部分原创】python实现视频内的face swap(换脸)
1.准备工作,按博主的环境为准 Python 3.5 Opencv 3 Tensorflow 1.3.1 Keras 2 cudnn和CUDA,如果你的GPU足够厉害并且支持的话,可以选择安装 那就先 ...
- [Leetcode][Python]24: Swap Nodes in Pairs
# -*- coding: utf8 -*-'''__author__ = 'dabay.wang@gmail.com' 24: Swap Nodes in Pairshttps://oj.leetc ...
- 【原创】python实现视频内的face swap(换脸)
1.准备工作,按博主的环境为准 Python 3.5 Opencv 3 Tensorflow 1.3.1 Keras 2 cudnn和CUDA,如果你的GPU足够厉害并且支持的话,可以选择安装 那就先 ...
- 06 swap命令,进程管理,rmp命令与yum命令,源码安装python
作业一: 1)开启Linux系统前添加一块大小为15G的SCSI硬盘 2)开启系统,右击桌面,打开终端 3)为新加的硬盘分区,一个主分区大小为5G,剩余空间给扩展分区,在扩展分区上划分1个逻辑分区,大 ...
- leetcode 【 Linked List Swap Nodes in Pairs 】 python 实现
题目: Swap Nodes in Pairs Given a linked list, swap every two adjacent nodes and return its head. For ...
- leetcode 【 Swap Nodes in Pairs 】python 实现
题目: Given a linked list, swap every two adjacent nodes and return its head. For example,Given 1-> ...
- 888. Fair Candy Swap@python
Alice and Bob have candy bars of different sizes: A[i] is the size of the i-th bar of candy that Ali ...
- 力扣—— Swap Nodes in Pairs(两两交换链表中的节点) python实现
题目描述: 中文: 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表. 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换. 示例: 给定 1->2->3->4, ...
随机推荐
- [C/C++] String Reverse 字符串 反转
#include <iostream> #include <string> #include <algorithm> #include <cstring> ...
- 最优比例生成环(dfs判正环或spfa判负环)
http://poj.org/problem?id=3621 Sightseeing Cows Time Limit: 1000MS Memory Limit: 65536K Total Subm ...
- 单源最短路(spfa),删边求和
http://acm.hdu.edu.cn/showproblem.php?pid=2433 Travel Time Limit: 10000/2000 MS (Java/Others) Mem ...
- 170503、centos6.5安装mysql5.6.30
准备:虚拟机地址:192.168.0.110 安装目录/usr/local/ 首先卸载已经安装的mysql使用命令查看rpm -qa | grep mysql卸载使用 rpm -e xxx 或者 yu ...
- 向Docx4j生成的word文档添加图片和布局--第一部分
原文标题:Adding images and layout to your Docx4j-generated word documents, part 1 原文链接:http://blog.iprof ...
- 深究AngularJS——自定义服务详解(factory、service、provider)
前言 3种创建自定义服务的方式. Factory Service Provider 大家应该知道,AngularJS是后台人员在工作之余发明的,他主要应用了后台早就存在的分层思想.所以我们得了解下分 ...
- JSON_CONTAINS
select * from tb where info->'$.name' = '特价促销' or JSON_CONTAINS(info->'$[*].name', '" ...
- 洛谷P1613 跑路 图论
正解:倍增+图论 解题报告: 传送门! 话说这题是真滴很妙啊,,,大概港下QwQ 首先看懂这道题,它是说,只要是1<<k的都能1s跑过,而且每条边的长度都是1,就是说一秒可以跑过1< ...
- LockSupport HotSpot里park/unpark的实现
每个java线程都有一个Parker实例,Parker类是这样定义的: class Parker : public os::PlatformParker { private: volatile int ...
- 使用递归打印二叉树的左视图 java
使用递归打印二叉树的左视图 java package com.li.jinRiTouTiao; public class PrintLeftView { static class TreeNode{ ...