参数传递

1 a = 1
2 def fun(a):
3 a = 2
4 fun(a)
5 print a
6
7 # 输出: 1
 a = []
def fun(a):
a.append(1)
fun(a)
print a # 输出 [1]
    第一个,执行完 a = 1, 在当前命名空间里有一个标识符a 指向了一个整形变量 1 , 传入fun之后,fun的局部命名空间里有一个标识符a 指向了传进来的 1,  此时 将局部空间的a = 2, 那么他将指向整数2, 而函数体外面的不受影响
    第二个,fun 里的标识符a 和外面的标识符a 都指向了同一个内存中的列表,所以函数体外的a也收到了影响
 

元类

    类就是一组用来描述如何生成一个对象的代码段  

    元类就是一种类,他的作用是来产生一个类,就好比Int这个类用来产生一个整数
    一个比较好的文章: http://python.jobbole.com/21351/

类属性和实例属性

看一个比较坑的例子:

 class A():
a = 1 #类属性
a = A()
b = A()
print(A.a, a.a, b.a)
#输出 1 ,1 ,1
a.a = 2
print(A.a, a.a, b.a)
#输出 1, 2, 1 既然是类属性,为什么b的没有改变?
A.a = 3
print(A.a, a.a, b.a)
# 3, 2, 3 为什么b跟随着A改变了,而a没有呢?
        第2行,定义了一个类属性 a = 1,  第5行执行 a.a的时候, 发现对象a并没有名字为a的实例属性,于是就去a的类里面查找类属性a
 第7行, a.a = 2, 这句代码,会为a添加一个实例属性, 会覆盖掉之前的类属性a,所以产生了10的输出, 而10行的操作,由于a已经有实例属性a,b没有,所以发生了14行的输出

迭代器和生成器

  pass  先占个位置

GIL锁

多线程中都会遇到的一个问题,不同线程对共享资源访问的互斥。GIL(Global Interpreter Lock) 全局解释器锁,就是python用来解决这一问题的。python中的GIL是一个非常霸道的实现,他直接作用于python解释器一级。也就是说,在一个线程拥有了解释器的访问权限之后,其他线程都必须等待他释放解释器的访问权限,即使这些线程之间并没有相互影响。
 

关于python,一些整理的更多相关文章

  1. python django整理(五)配置favicon.ico,解决警告Not Found: /favicon.ico(转载)

    版权声明:本文为博主原创文章,欢迎交流分享,未经博主允许不得转载. https://blog.csdn.net/HHTNAN/article/details/78549561 Django 浏览器打开 ...

  2. python基础整理笔记(五)

    一. python中正则表达式的一些查漏补缺 1.  给括号里分组的表达式加上别名:以便之后通过groupdict方法来方便地获取. 2.  将之前取名为"name"的分组所获得的 ...

  3. python基础整理笔记(四)

    一. python 打开文件的方法 1. python中使用open函数打开文件,需要设定的参数包括文件的路径和打开的模式.示例如下: f = open('a.txt', 'r+') 2. f为打开文 ...

  4. python基础整理笔记(一)

    一. 编码 1. 在python2里,加载py文件会对字符进行编码,需要在文件头上的注释里注明编码类型(不加则默认是ascII). # -*- coding: utf-8 -*- print 'hel ...

  5. Python模块整理(三):子进程模块subprocess

    文章 原始出处 http://ipseek.blog.51cto.com/1041109/807513. 本来收集整理网络上相关资料后整理: 从python2.4版本开始,可以用subprocess这 ...

  6. python基础整理----基本概念和知识

    整理一下python的基本概念和知识, 主要用python3为语法标准. python介绍 一种面向对象的解释性计算机设计语言,具有丰富和强大的库. python定位:"优雅".& ...

  7. python模块整理29-redis模块

    date:20140530auth:jinhttp://github.com/andymccurdy/redis-pyhttps://github.com/andymccurdy/redis-py/b ...

  8. 这几天加班熬夜把所有Python库整理了一遍,非常全面!

    库名称简介 Chardet 字符编码探测器,可以自动检测文本.网页.xml的编码.colorama 主要用来给文本添加各种颜色,并且非常简单易用.Prettytable 主要用于在终端或浏览器端构建格 ...

  9. Python库整理

    库名称简介 Chardet字符编码探测器,可以自动检测文本.网页.xml的编码. colorama主要用来给文本添加各种颜色,并且非常简单易用. Prettytable主要用于在终端或浏览器端构建格式 ...

  10. 使用Python爬虫整理小说网资源-自学

    第一次接触python,原本C语言的习惯使得我还不是很适应python的语法风格.希望读者能够给出建议. 相关的入门指导来自以下的网址:https://blog.csdn.net/c406495762 ...

随机推荐

  1. Qt 配置文件QSettings

    QString appDirPath = QCoreApplication::applicationDirPath(); QSettings* configIniRead = new QSetting ...

  2. AngularJS 表单

    AngularJS 表单是输入控件的集合. HTML控件 以下 HTML input 元素被称为 HTML 控件: input 元素 select 元素 button 元素 textarea 元素 H ...

  3. SQL位移运算函数

    -- ============================================= -- Author:      <maco_wang> -- Create date: & ...

  4. acm数学(待续)

    意图写出http://www.cnblogs.com/kuangbin/archive/2012/08/28/2661066.html这个东西的完善版. 1.置换,置换的运算 poj 2369 Per ...

  5. SOAPUI使用教程-验证SOAP服务

    当soapUI创建一个功能性TestCase 一个很常见的场景是你想一些SOAP / WSDL服务验证响应检查返回正确的结果. 一旦你导入了您想要测试的WSDL服务这样做很容易: 添加一个新的SOAP ...

  6. BZOJ1055: [HAOI2008]玩具取名

    ... #include<bits/stdc++.h> using namespace std; int q[255]; char s[205]; char p[]={'W','I','N ...

  7. Graphviz从入门到不精通

    1.安装Graphviz (windows 版本,后面说linux下的安装) 1.1)下载安装文件 从graphviz官网下载 http://www.graphviz.org/Download.php ...

  8. Mysql创建新用户方法

    1. CREATE USER 语法: CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 例子: CREATE USER 'dog'@'lo ...

  9. C# 线程调用主线程中的控件

    由于项目的需要,最近几天一直在做串口和数据库.由于C#使用的时间不长,所以在编写代码和调试的过程中总是遇到意想不到的问题,比如在使用串口接收数据的时候,在接收数据事件中想把接收的数据放入一个textb ...

  10. FK JavaScript之:ArcGIS JavaScript API之地图动画

    地图要素动画应用场景:动态显示地图上的要素的属性随着时间的改变而改变,并根据其属性的变化设置其渲染.比如:某水域项目中,随着时间的变化,动态展现水域的清淤进度 本文目的:对ArcGIS JavaScr ...