python学习之可变不可变】的更多相关文章

python开发,有时候需要设计单例模式保证操作的唯一性和安全性.理论上python语言底层实现和C/C++不同,python采取的是引用模式,当一个对象是可变对象,对其修改不会更改引用的指向,当一个对象是不可修改对象,对其修改会改变引用指向. 可变对象和不可变对象 不可变对象 该对象所指向的内存中的值不能被改变.当改变某个变量时候,由于其所指的值不能被改变,相当于把原来的值复制一份后再改变,这会开辟一个新的地址,变量再指向这个新的地址. 可变对象 该对象所指向的内存中的值可以被改变.变量(准确…
一.函数 1. def test(x): y=x+1 return yprint(test) #这是打印函数在内存中的地址 过程:就是没有返回值的函数 在python中过程也是函数,就算没哟返回值,也会返回个None def test(x): msg="hello" print(msg,x) return 1,2,3,'a',["steven","bob"],None t=test("jobs") print(t) #打印返回…
def func(numbers = [], num=1): numbers.append(num) for number in numbers: print(number) func() >>> 1 func() >>> 1 >>> 1 func() >>> 1 >>> 1 >>> 1 从上面代码中可以看出,函数的打印的是同一个列表对象numbers,因为他们的id值是一样的,只不过是列表中的元素…
函数参数传递本质上和变量整体复制一样,只是两个变量分别为形参a和实参b.那么,a=b后,a变了,b值是否跟着变呢?这取决于对象内容可变不可变 首先解释一下,什么是python对象的内容可变不可变? python的变量是无类型的,如n=1   #变量n无类型(n相当于指针),其指向int数据类型的值,这个值是int类型. 所以,python中,strings, tuples, 和numbers是不可更改的对象,而list,dict等则是可以修改的对象. 举个列子, 不可变如,a=5后,a=10,这…
目标:支持可变属性 反模式:使用泛型属性表.这种设计成为实体-属性-值(EAV),也可叫做开放架构.名-值对. 优点:通过增加一张额外的表,可以有以下好处 (1)表中的列很少: (2)新增属性时,不需要新增列.不会影响现有表的结构: (3)存储的字段内容不会为空值. 缺点:(1)查询语句变得更加复杂: (2)使用EAV设计后,需要放弃传统的数据库设计所带来的方便之处,比如:无法保障数据完整性: (3)无法使用SQL的数据类型,比如对日期.金钱等格式内容都只能保持为字符串类型: (4)无法确保引用…
补充:(可用操作技巧) >>> x=900 >>> y=900 >>> x==y True >>> type(x) is type(y) True >>> x is y False >>> id(x) 3107344641872 >>> id(y) 3107344907216 #is 左边的是否是右边的,is比较的是id 而‘==’比较的是值 ===================…
Python元组Tuple(不可变): 元组的特点: 1.元组的初始化: tuple = (1, )  #元组只有一个元素的话,初始化时要加,否则当做元素的普通变量类型处理 tuple = (1, 2, 3, [2,4,5])  #可以使不同类型的元素 2.元组中的元素不能被修改: tuple[2] = 5   #错误的,编译不通过,会报错 3.用1中的tuple,只不能改变[2,4,5]列表元素的地址,但可以通过读取其地址改变其列表中的值. 一.元组的运算: 1.元组的组合: tuple3 =…
可变/不可变类型 可变类型 ID不变的情况下,值改变,则称之为可变类型,如列表,字典 不可变类型 值改变,ID改变,则称之为不可变类型,如 整数 字符串,元组 整数类型 int 正整数 用途就是记录年龄,电话号码,等内容 定义: age = 19. # int() 类型转换 int() 只能是纯数字的字符,还有浮点型 float 浮点数 用途就是用来记录工资,身高,体重,带有小数为的数据 定义:pice = 3.2 # float() 类型的转换 float() 包含小数的字符串,或是正整数型…
python3中有六个标准的数据类型:number(数字型).string(字符串型).list(列表).type(元祖).dictionary(字典).set(集合),其中不可变类型三个:number.type.stri:剩下的三个是可变数据类型. 0x01:不可变数据类型 对于判断是否为可变数据类型,我们可以用id函数,它的作用是获取对象的内存地址.假如我们写了下面两行代码: >>> a=5 >>> id(5)1351465552 第一行声明了一个number类型的…
Python学习--01入门 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.和PHP一样,它是后端开发语言. 如果有C语言.PHP语言.JAVA语言等其中一种语言的基础,学习Python入门很容易. Hello World! python文件以.py结尾. hello.py #!/usr/bin/python print("Hello, World!"); 在命令行里运行(直接输入文件名即可): $ chmod +x hello.py $ ./hello.py W…
python 学习小结 python 简明教程 1.python 文件 #!/etc/bin/python #coding=utf-8 2.main()函数 if __name__ == '__main__': 3.物理行与逻辑行; 下面是一个在多个物理行中写一个逻辑行的例子.它被称为明确的行连接. s = 'This is a string. \ This continues the string.' print s 它的输出: This is a string. This continues…
正式学习python第一天,网上找到了python教程,带练习题的,又装了ubuntu. 这是学习笔记: list[]: 可变,append/1,insert/2,pop/index? tuple(): 不变 dict{}: 可变,values/0,itervalues/0,values/0,iteritems/0,items/0 set([]): 可变,add/1,remove/index str: .join/list .capitalize/0 .title/0 .upper/0 .low…
实际开始看这一章节的时候,觉得都不想看了,因为每种语言都会有控制流,感觉好像我不看就会了似的.快速预览的时候,发现了原来还包含了对函数定义的一些描述,重点讲了3种函数形参的定义方法,章节的最后讲述了PEP8的一些重要的规范,在学习的过程中还是学到了些知识. 2.1  if 语句 if语句就不多说了,经常跟else if .. 和 else ..一起使用,如下所示: >>> x = int(raw_input("Please enter an integer: "))…
一.        模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,第三方库存放位置:site-packages sys模块简介 导入模块 import sys 3 sys模块 print(sys.argv) #打印文件名称 5 print(sys.path) #打印环境变量 os模块简介 1.移除文件和文件重命名 ============================== import os os.remove('test.txt') #先将原文件删除,否则无法重命…
在python学习开发的过程中,我们总是不断的要对List(列表),Tuple(元组)有取值操作:假如我们有一个列表List1现在想取出1其中的前5个元素,改怎么操作呢? >>> List1 = ['zhangxueyou','liuyifei','liudehua','huyidao','haodada','wumengda','zhouxingchi','chenglong','Jack','linzhilin'] >>> List1 ['zhangxueyou',…
  Python学习路径及练手项目合集 Wayne Shi· 2 个月前 参照:https://zhuanlan.zhihu.com/p/23561159 更多文章欢迎关注专栏:学习编程. 本系列Python技术路径中包含入门知识.Python基础.Web框架.基础项目.网络编程.数据与计算.综合项目七个模块.路径中的教程将带你逐步深入,学会如何使用 Python 实现一个博客,桌面词典,微信机器人或网络安全软件等.完成本路径的基础及项目练习,将具备独立的Python开发能力. 完整的Pytho…
之前为了编写一个svm分词的程序而简单学了下Python,觉得Python很好用,想深入并系统学习一下,了解一些机制,因此开始阅读<Python学习手册(第三版)>.如果只是想快速入门,我在这里推荐了几篇文章,有其他语言编程经验的人简单看一看就可以很快地开始编写Python程序了. 黑体表示章节, 下划线表示可以直接在原文对应位置查到的专有技术名词. 原书配套答案请到http://www.hzbook.com/Books/4572.html下载,简单注册即可. 第三章 如何运行程序 impor…
Python:Python学习总结 背景 PHP的$和->让人输入的手疼(PHP确实非常简洁和强大,适合WEB编程),Ruby的#.@.@@也好不到哪里(OO人员最该学习的一门语言). Python应该是写起来最舒服的动态语言了,一下是一些读书笔记,最后会介绍一下高级的用法:Mixin.Open Class.Meta Programming和AOP. 文中有些地方是用2.7开发的,如果您安装的是3.x,有几点需要注意: print "xxx" 要换成 print("xx…
Python学习的个人笔记 题外话: 我是一个大二的计算机系的学生,这份python学习个人笔记是趁寒假这一周在慕课网,w3cschool,还有借鉴了一些博客,资料整理出来的,用于自己方便的时候查阅,一开始保存在word上,代码不是很好看,于是决定复制到博客里面,可能有复制过程中出错的,或者我本身在理解方面有出错的地方,希望能得到指正,谢谢  后续的内容我会继续学习…… python下载地址  www.python.org Python 分为2.7和3.3两个版本,3.3有些库不兼容,因此用2.…
Python学习之路第三天 学习内容: 1.文件操作 2.字符转编码操作 3.函数介绍 4.递归 5.函数式编程 1.文件操作 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式.此函数把你传递的表达式转换成一个字符串表达式,并将结果写到标准输出如下: #!/usr/bin/python # -*- coding: UTF-8 -*- print "Python 是一个非常棒的语言,不是吗?"; 标准屏幕上会产生以下结果: Python 是一个非…
Python学习之路第二天 学习内容: 1.模块初识 2.pyc是什么 3.python数据类型 4.数据运算 5.bytes/str之别 6.列表 7.元组 8.字典 9.字符串常用操作 1.模块初识 在前面脚本上是用 python 解释器来编程,如果你从 Python 解释器退出再进入,那么你定义的所有的方法和变量就都消失了. 为此 Python 提供了一个办法,把这些定义存放在文件中,为一些脚本或者交互式的解释器实例使用,这个文件被称为模块. 模块是一个包含所有你定义的函数和变量的文件,其…
Python学习:基本概念 一,python的特点: 1,python应用场景多;爬虫,网站,数据挖掘,可视化演示. 2,python运行速度慢,但如果CPU够强,这差距并不明显. 3,严格的缩进式编程 二,python输入 1,print 'hello world','Dr' (中文:# -*- coding: utf-8 -*-申明) 2,raw_input('input:') 三,数据类型 1,类型显示:type() ,数值型和字符型都是不变量 2,转义:\n或r(不转义) 3,布尔类型:…
转载:http://www.cnblogs.com/wuyuegb2312/archive/2013/02/26/2910908.html 之前为了编写一个svm分词的程序而简单学了下Python,觉得Python很好用,想深入并系统学习一下,了解一些机制,因此开始阅读<Python学习手册(第三版)>.如果只是想快速入门,我在这里推荐了几篇文章,有其他语言编程经验的人简单看一看就可以很快地开始编写Python程序了. 黑体表示章节, 下划线表示可以直接在原文对应位置查到的专有技术名词. 原书…
Python快速教程http://www.cnblogs.com/vamei/archive/2012/09/13/2682778.html简明Python教程https://bop.molun.net/07.basics.htmlPython 学习知识点教程http://www.runoob.com/python/att-list-extend.html1. 是否了解动态语言的鸭子模型? 2. 是否了解可变参数与关键字参数? 3. 对函数式编程有初步了解. 4. 是否知道列表生成式? 5. 是…
Python学习 Part3:数据结构 1. 深入列表: 所有的列表对象方法 list.append(x): 在列表的末尾添加一个元素 list.extend(L): 在列表的末尾添加一个指定列表的所有元素 list.insert(i,x): 在指定位置插入一个元素 list.remove(x): 删除列表中值为x的第一个元素,如果不存在这样的元素则引发错误 list.pop(i): 删除列表中指定位置元素并返回它(指元素值).如果省略索引,a.pop()会删除并返回列表中的最后一个元素 lis…
python学习第五次笔记 列表的缺点 1.列表可以存储大量的数据类型,但是如果数据量大的话,他的查询速度比较慢. 2.列表只能按照顺序存储,数据与数据之间关联性不强 数据类型划分 数据类型:可变数据类型.不可变数据类型 不可变数据类型:元组,布尔值(bool).int.str 可变数据类型:list(列表).字典(dict).set. dict key 必须是不可变数据类型.可哈希 value:任意数据类型. dict 优点:二分查找去查询 存储大量的关系型数据 特点:无序的 创建字典的几种方…
Python学习第六课 课前回顾 列表 创建 通过 [] :写在[]里,元素之间用逗号隔开 对应操作: 查 增 append insert 改(重新赋值) 删除(remove del pop(删除后会有返回值)) 其他操作 count 统计 extend 可以在列表末尾追加多个值 index 返回列表索引位置 reverse 把我.列表中的元素反转 sort 按ASCII排序 元组 数据只可以被查询,不能被修改: 元组写在()里,之间用逗号隔开 enumerate(A,B) 添加序号;A表示所添…
Python学习第二天 一.模块 使用模块前需在代码最前声明(import) 二.数据类型 1.数字 int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位系统上,整数的位数为64位,取值范围为-2**63-2**63-1,即-9223372036854775808-9223372036854775807 long(长整型) 跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数…
该一系列python学习笔记都是根据<Python基础教程(第3版)>内容所记录整理的 1.字符串基本操作 所有标准序列操作(索引.切片.乘法.成员资格检查.长度.最小值和最大值)都适用于字符串,但字符串是不可变的,所有元素赋值.切片赋值等操作都是非法的. 2.设置字符串的格式 这里设置字符串格式的基本思想是对字符串调用方法format,并提供要设置其格式的值.每个值都被插入字符串中,以替换用花括号 {} 括起的替换字段.要在最终结果中包含花括号,可以在格式字符串中使用两个花括号(即{{...…
造一个草原要一株三叶草加一只蜜蜂.一株三叶草,一只蜂,再加一个梦.要是蜜蜂少,光靠梦也行. - 狄金森 "成为编程大牛要一门好语言加一点点天分.一门好语言,一点点天分,再加一份坚持.要是天分少,光靠坚持也行." Python无疑是一门好语言.今天给大家整理这一批教程,适合有一点Python基础的同学,强化.进阶.关于基础的学习,可以查看上一篇<Python学习资源整理(入门系列)>.(提示:本文列出教程,大部分都是免费,点开链接即可在云端Linux环境中动手学习,仅有一小撮…