随笔 - 576  文章 - 0  评论 - 62  阅读 - 219万

随笔分类 -  Python笔记

Python 存储模型
摘要:1、Python彻底分离了对象和引用,可以认为内存中的对象都是不可修改的,每次修改引用,相当于在堆上重新创建一个对象,引用指向新对象。2、对于数值和字符串,修改意味着引用指向一个新对象。3、集合中的元素都是引用。考虑元组,元组中的引用不能增加删除,也不能修改引用的指向。但是元组本身也是个引用,可以指向另一个元组。4、考虑列表,列表中的引用可以增加删除,也可以修改引用的指向。列表本身也是个引用,也可以指向另一个列表。5、考虑字典,字典的key不能修改指向,value可以修改指向。字典本身也是个引用,也可以指向另一个字典。6、考虑下面的情况,listB = listA, listB 与 listA 阅读全文
posted @ 2014-03-12 15:27 Andy Niu 阅读(3880) 评论(0) 推荐(0) 编辑
Python int与string之间的转化
摘要:string-->int1、10进制string转化为int int('12')2、16进制string转化为int int('12', 16)int-->string1、int转化为10进制string str(18)2、int转化为16进制string hex(18)考虑,为什么没有16进制int转化为string,可以这么认为不管什么进制,python在内部表示都是10进制,先转化为10进制在进行。如16进制int转化为string,str(0x12),首先变为str(18),再到'18'。那么我想结果为'12' 阅读全文
posted @ 2014-03-04 20:10 Andy Niu 阅读(369186) 评论(0) 推荐(2) 编辑
Python 类型的分类
摘要:1、存储模型,对象可以保存多少个值。如果只能保存一个值,是原子类型。如果可以保存多个值,是容器类型。数值是原子类型,元组,列表,字典是容器类型。考虑字符串,按道理,字符串应该是容器类型,因为它包含多个字符。但是,Python中没有字符类型,也就是没有字符的概念,因此,把字符串归为原子类型。2、更新模型,对象的值是否可以更新。Python彻底分离了引用和实体,比如a=1; b=a; b=2; 可以认为,a指向的内存内容不允许修改,现在b也指向这块内存,那么我要修改b,该怎么办呢? 只能是重新分配一块内存,内容为2,然后修改b的指向,让b指向这块内存。a还是指向原来的内存,内容不变。 思考,P.. 阅读全文
posted @ 2014-02-16 22:22 Andy Niu 阅读(2735) 评论(0) 推荐(0) 编辑
Python 调用C++
摘要:1、C++代码提供Python需要的接口: 1 #include "stdafx.h" 2 #include 3 #include 4 using namespace std; 5 6 string greet() 7 { 8 for(int i=0;i>> import hello4 >>> hello.greet()5 'hello'6 >>> 阅读全文
posted @ 2013-12-27 19:33 Andy Niu 阅读(431) 评论(0) 推荐(0) 编辑
C++,C#,Python
摘要:1、C++的思路:无论是基本类型,还是类类型,对象的传递提供了两种方式,一个是整体拷贝,一个是复制引用。整体拷贝对应着copy构造和copy赋值,复制引用就是通过引用或者指针实现的,当然指针本身还是整体拷贝,也可以是引用。 C++对象既可以分配在栈上,也可以分配在堆上,分配在堆上的对象必须手工delete2、C# 的思路:类类型整体拷贝,代价大,基本类型代价小。基本类型是整体拷贝,类类型是复制引用。C#中的引用是对C++引用的强化,和C++指针的弱化。 C++中引用必须是一个对象的别名,而且必须至始至终是这个对象的别名。 C++指针可以修改指向对象的内容,可以修改指针的指向,也可以对指针... 阅读全文
posted @ 2013-11-28 19:35 Andy Niu 阅读(616) 评论(0) 推荐(0) 编辑
Python 删除目录中特定文件
摘要:代码如下,使用了递归: 1 import sys 2 currDir = sys.path[0] 3 4 import os 5 def removeFile(dir,postfix): 6 if os.path.isdir(dir): 7 for file in os.listdir(dir): 8 removeFile(dir+'/'+file,postfix) 9 else:10 if os.path.splitext(dir)[1] == postfix:11 os.remove(dir)... 阅读全文
posted @ 2013-11-26 17:54 Andy Niu 阅读(6610) 评论(2) 推荐(1) 编辑
python __name__
摘要:1、解决的问题: 在python中,每个py文件都是一个模块,也都是一个可执行文件,即包含main方法。因此,对每个py文件,可以单独运行,也可以import它给其他客户使用,这两种情况不一样,因为客户import一个py文件,并不想运行它。如何区分这两种情况呢?2、如何解决: __name__属性,当运行py文件时,它的值是__main__,当import的时候,它的值是文件名。这样在py文件中,就能区分当前文件是被运行还是被import,不同的情况,执行不同的代码。 阅读全文
posted @ 2013-11-15 16:14 Andy Niu 阅读(1645) 评论(0) 推荐(0) 编辑
Python 动态语言
摘要:1、在C++中,Animal a = Person(); 这样写是不行的,因为a的内容不能使用Person的内容来填充。2、在Python中,变量不需要声明,而且可以赋任何值。Python是如何做到的? Python的设计理念是:变量和实体分离,变量可以认为是一个指针,指向某个实体,而且可以指向任何实体。这个变量只能指向实体,不能包含实体的内容。对变量赋值,不是修改指向的实体,而是使变量指向另一个实体。 也就是说,变量没有办法修改指向的实体,修改变量只不过是让他指向另一个实体。 变量可以间接的修改实体,比如a,b指向同一个容器,a修改容器的第一个元素,b容器的第一个元素也发生变化。但这本... 阅读全文
posted @ 2013-11-14 17:13 Andy Niu 阅读(784) 评论(0) 推荐(0) 编辑
python读写文件
摘要:考虑下面的需求:txt文件每行有一个元素,读取所有的元素,排序输出到另一个文件。 1 import sys 2 print(sys.path[0]+"/aaa.txt") 3 file = open(sys.path[0]+"/aaa.txt") 4 result =[] 5 for line in file: 6 result.append(line) 7 8 result.sort() 9 result.reverse()10 11 print(sys.path[0]+"/bbb.txt")12 target = open(sys 阅读全文
posted @ 2013-11-12 15:20 Andy Niu 阅读(241) 评论(0) 推荐(0) 编辑
os.getcwd()
摘要:1、os.getcwd():获取当前工作目录,也就是在哪个目录下运行这个程序。举例来说:假设F:\aaa\bbb\ccc目录下有个文件 TestDir.py,打印当前工作目录。进入windows命令行窗口: 在F:\aaa\bbb\ccc运行 python TestDir.py,输出F:\aaa\bbb\ccc 在F:\aaa\bbb运行 python ccc/TestDir.py,输出F:\aaa\bbb 在F:\aaa运行 python bbb/ccc/TestDir.py,输出F:\aaa2、如果我想获取TestDir.py文件所在的目录,怎么办?使用sys.path[0]1 im... 阅读全文
posted @ 2013-11-12 14:28 Andy Niu 阅读(7250) 评论(1) 推荐(2) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示