python学习笔记

1、 语法:教程上1.20的python版本跟现在安装的3.4.0版本差别较大,里面一些语法格式稍有变化,写程序时不能完全按照上面的来(比如在print一个变量或常量的时候,需要加括号);

2、 cmd运行源程序的方法:windows下只能用命令行运行,首先要进入程序所在目录,如果事先所在硬盘不对,首先要进入那个盘(如f:)然后还要进入程序所在的地址,最后方可运行python helloworld.py;

3、 语法笔记:

1) 当要在多个物理行中写一个逻辑行的时候,可以用 作为行连接符;

有时候,有一种暗示的假设,可以使你不需要使用反斜杠。这种情况出现在逻辑行中使用了圆括号、方括号或波形括号的时候。这被称为暗示的行连接

2) Print一个变量或常量,都要加括号;

3) 跟C/C++不同,python中使用变量时只需要给它们赋一个值。不需要声明或定义数据类型。

4) 不要混合使用制表符和空格来缩进,因为这在跨越不同的平台的时候,无法正常工作。强烈建议 在每个缩进层次使用 单个制表符 或 两个或四个空格 。
选择这三种缩进风格之一。更加重要的是,选择一种风格,然后一贯地使用它,即  使用这一种风格。

4、读入csv文件:NumPy中的loadtxt函数可以方便地读取CSV文件,自动切分字段,并将数据载入NumPy数组

c,v=numpy.loadtxt('data.csv',delimiter=',',usecols=(6,7),unpack=True)

可以看到,数据存储在data.txt文件中,设置分隔符为“,”,因为要处理的是一个CSV 文件。usecols的参数为一个元组,以获取第7字段至第8字段的数据。unpack参数设置为True,意思是分拆存储不同列的数据,即分别将第七/第八列的数组赋值给变量c和v。

5、python中如何查看即修改当前工作目录?

import os
查看当前目录:os.getcwd()
修改当前目录:os.chdir('D\Python')

 6、在python IDLE下运行.py文件

方法一:打开该.py文件,按F5直接执行;

方法二:

Import

IDLE下也可以用import来运行文件。如运行test.py文件:improt test

但是对于一个文件,improt只能在第一次导入时运行文件。在第一次导入之后,其他的导入都不会再工作,甚至在另一个窗口中改变并保存了模块的源代码文件也不行。实验了下,发现重启IDEL后依然不行。这是有意设计的结果。导入是一个开销很大的操作以至于每个程序不能够重复多于1次。

Reload

但如果想要python在同一次会话中再次运行文件,需要用内置的reload(重载)函数。

调用格式是:reload(test)

使用reload,输出中会包含<module 'test' from'C:/Python27/Practice Code/test.pyc'>。

这是因为Reload是一个函数,而import是一个语句。调用时需要传递模块名称给reload函数作为括号中的参数,因此在重载时得到了额外的一行输出。最后一行输出是reload调用后的返回值的打印显示,reload函数的返回值是一个python模块对象。但对于未经过修改的程序,调用reload函数,也仅仅会得到一行类似上面的返回值的打印显示。

需要额外说明的是,如果没有使用import,reload函数会报错。也就是说reload函数需要在已经使用了import的情况下使用。可以使用Alt-p,Alt-n回滚到上一条命令,另外, IDLE中没有清屏选项。

execfile

另一个通过交互提示模式运行文件的方法是内置函数execfile(‘test.py’)。默认情况下,每次调用execfile,都会运行一个新文件,但从技术上来说它并没有导入模块。

模块导入是一种运行代码文件的方法模块也是python程序最大的程序结构。Python程序往往有多个模块构成,通过import语句连接在一起。每个模块文件是一个独立完备的变量包装,即一个命名空间。一个模块文件不能看到其他文件定义的变量名,除非他明确地导入了那个文件,所以模块文件在代码文件中起到了最小化命名冲突的作用。

如果发生了链接错误,试一下通过单个进程的模式启动IDLE。IDLE要求在其独立的用户和GUI进程间通信,有时候会在特定的平台上发生启动错误。如果遇到了这样的链接错误,它常常可以通过系统命令行使IDLE运行在单一的模式下进行启动,从而避免了通信的问题:-n命令行标志为可以强制进入这种模式。如,在Windows撒谎功能,可以运行系统命令 test.py –n.

@

python 装饰器符号@,其原理是把@语句下面的函数“装”在@后面的函数里执行,@后面的函数是起到“装饰”的作用,所以叫做“Decorator”。

相关的文章:http://blog.sina.com.cn/s/blog_571b19a001013h7j.html  ;http://blog.sina.com.cn/s/blog_6fe87f870101d9cm.html

yield

python 关键字yield,其与return类似,只是返回的是一个生成器(generator),它是可以迭代的(即可以用一个for循环来读取,或者用.next()一个个读取),但只能被读取一次。

需要理解的是:当你调用这个函数的时候,函数内部的代码并不立马执行,这个函数只是返回一个生成器对象。当你循环调用迭代器内的值的时候,它才执行的。

 7、python的 时间 格式类型以及相互转换

  http://www.wklken.me/posts/2015/03/03/python-base-datetime.html

  涉及到时间运算的时候,转化为时间戳的格式:

  http://www.cnblogs.com/zhongtang/p/5507035.html

  python 时间、日期、时间戳 推导及处理:

  http://blog.csdn.net/xiaobing_blog/article/details/12591917

原文地址:https://www.cnblogs.com/zichun-zeng/p/4118034.html