python(day1) - 变量小测试

下面看一道题目:

a = 3

b = a

a = 5

print(a,b)

程序最后输出的a,b值分别是多少呢?

先想一想,然后我们执行一下看看正确答案:

正确答案 a 的值是5, b的值是3,为什么b的值没有随a的值的变化而变化?下面分析一下原因:

这里先介绍一个函数id(), 它可以查看变量的内存地址;好了,下面开始分析:

将程序拆分一下,先将3赋给a, 然后查看一下内存地址

再将a赋给b,然后查看b的内存地址

可以看出,b和a的内存地址是一样的

再将5赋给a, 查看a的内存地址

可以看到a的内存地址发生了变化,a指向了一个新的内存地址。

整个过程如下图所示:

时间: 2024-10-25 05:40:56

python(day1) - 变量小测试的相关文章

Python环境变量配置 - 测试文章

支持python2的中文编码 # -*- coding: UTF-8 -*- 调用python的意义 #!/usr/bin/python 是告诉操作系统执行这个脚本的时候,调用 /usr/bin 下的 python 解释器:相当于写死了python路径; #!/usr/bin/env python (推荐)这种用法是为了防止操作系统用户没有将 python 装在默认的 /usr/bin 路径里.当系统看到这一行的时候, 首先会到 env 设置里查找 python 的安装路径,再调用对应路径下的解

Python下实现文件中的全文搜索小测试

username = 'test' password = '123456' while True: user_str = raw_input("Please input your name>>") pass_str = raw_input("Please input your password>>") if username != user_str or password != pass_str: print "Sorry,You 

[Python]threading local 线程局部变量小测试

概念 有个概念叫做线程局部变量,一般我们对多线程中的全局变量都会加锁处理,这种变量是共享变量,每个线程都可以读写变量,为了保持同步我们会做枷锁处理.但是有些变量初始化以后,我们只想让他们在每个线程中一直存在,相当于一个线程内的共享变量,线程之间又是隔离的.python threading模块中就提供了这么一个类,叫做local. 多线程中共享变量和局部变量的区别我画两个小图,简单描述下(作图能力一般,请见谅,概念性的东西大家可以google下,很多好文章) 全局变量 线程局部变量 对比: 下面是

python 程序小测试

对之前写的程序做简单的小测试 ... 1 # -*- encoding:utf-8 -*- 2 ''' 3 对所写程序做简单的测试 4 @author: bpf 5 ''' 6 def GameOver(N, scoreA, scoreB): 7 ''' 8 function: 定义一局排球比赛的结束条件 9 N: 代表当前局次(第五局为决胜局) 10 前四局,每个队只有在赢得至少25分,且同时超过对方2分时才胜一局 11 第五局,每个队只有在赢得至少15分,且同时超过对方2分时才胜一局 12

Windows下python环境变量配置

开始学习python开发时,我们首先要了解python是什么,并且了解python开发的环境以及环境配置,其实很多朋友在对python环境配置(http://www.maiziedu.com/course/python/276-2605/)时会出现各种各样的细节错误,导致浪费很多时间,去解决各种问题.因此,小编在本文中给大家讲讲python环境变量设置的方法. 默认情况下,在windows下安装python之后,系统并不会自动添加相应的环境变量.此时不能在命令行直接使用python命令. 1. 

python基础(2):python的变量和常量

今天看看python的变量和常量:python3 C:\test.py 首先先说一下解释器执行Python的过程: 1. 启动python解释器(内存中) 2. 将C:\test.py内容从硬盘读入内存(这一步与文本编辑器是一样的) 3. 执行读入内存的代码 如果想要永久保存代码,就要用文件的方式如果想要调试代码,就要用交互式的方式 变量是什么? 变:变化,核心在与变化    量:衡量,计量,表达是一种状态 变量的定义 ps: level = 1 level:变量名  =:赋值运算符  1:值

python的变量,对象的内存地址以及参数传递过程

作为一个由c/c++转过来的菜鸟,刚接触Python的变量的时候很不适应,应为他的行为很像指针,void* ,不知道大家有没有这样的感觉.其实Python是以数据为本,变量可以理解为标签.作为c/c++的菜鸟,把跟踪变量地址的习惯带入Python,举个小例子说明Python的变量,对象,及参数传递. 1 '''例子1''' 2 x = 1 3 def fun(x): 4 x = 2 5 return None 6 7 fun(x) 8 print(x) 其实不打印也可以,我们用pycharm单步

[Gevent]gevent 网络抓取小测试

早就听说gevent基于事件的异步处理能力 效率多么高,一直在项目中也很少用到,今天先来没事就学习了些简单的用法. 有个官方的教程写的很不错 中文版的地址为:http://xlambda.com/gevent-tutorial/ 学习gevent很不错的资料. 具体的理论这里不怎么说了,只是有些了解,具体的原理还不能解释的很清楚.不过协程这种概念在golang里面很多. 写了一个访问网络,使用同步操作,gevent 和 多线程对比的例子. #!/usr/bin/python # -*- codi

使用python+pychram进行API测试(接口测试)初级STEP 1

花了一天时间安装了解了下最基本的python+pychram进行API测试,下面这个可以指导自己以后入门:基本的开发级别还需要学习 1.python下载地址:https://www.python.org/about/当前下载版本:python 2.7.12 2.下载完成进行环境变量配置配置python环境变量:E:\Python27\python\;E:\Python27\python\Scripts (根据你自己安装地址) 3.使用pipcmd进入E:\Python27\python\Scri