【Python】学习笔记(一)

由于机器学习、计算机应用数学等课程的需要,最近正在自学Python,希望我的学习笔记可以对你有所帮助。

我所使用的开发环境:Ubuntu 14.04 LTS + Python 2.7.9 + iPython Notebook

一、安装与配置

1、Python下载

可以选择官方的Python下载,有2.7.9和3.4.3两个版本可以选择,官方下载链接:https://www.python.org/downloads/

我选择使用Anaconda Python。它的官方说明是:“Anaconda is a completely free Python distribution (including for commercial use and redistribution). It includes over 195 of the most popular Python packages for science, math, engineering, data analysis.” 简单来讲,他有大量常见的Python包,基本可以满足需求。下载链接:http://www.continuum.io/downloads

2、安装Anaconda

ubuntu系统下下载到是anaconda-2.2.0-Linux-x86_64.sh

执行以下语句安装:

$: bash Anaconda-2.2.0-Linux-x86_64.sh

3、打开iPython Notebook

安装完anaconda后,直接在终端输入:

$: ipython notebook

4、设置远程访问

选择使用iPython Notebook的一个原因是因为其远程访问功能十分强大。只需在本地终端输入:

$: ipython notebook --ip='*' --matplotlib=inline 

即可在远程电脑浏览器中输入“ ip地址:端口号 ”访问本地的iPython Notebook。


二、Basics

Python程序包括模块,语句、表达式和对象。模块包含语句,语句包含表达式,表达式建立并处理对象。

1、注释。#后跟的是注释内容

      # Note: This is a comment

2、数字。数字只有整数和浮点数两种类型。

3、字符串。一串字母、一串单词等都是string。常用C/C++的人要注意,在Python中不存在char数据类型

    (1)单引号和双引号都可以引字符串,两个是完全相同的;

    (2)三引号‘’‘或者"""可引多行字符串,且三引号引用内容中可任意使用单引号和双引号;

    (3)string可以创建不可以改变。

    (4)format()是一个非常有用的方法。举例:

name = fiona
age = 23
print '{0} is {1} years old'.format(name,age)
      输出:
fiona is 23 years old
    (5)转义序列的使用与C/C++类似:

‘ \ ’标注在句尾表示下一行与本行相连;‘ \n ’ 表示换行;‘ \\ ’表示' \ '自己。

s = ''' This is a \
long sentence.\n
This is a short one. \\'''
print s
输出:

This is a long sentence.
This is a short one. \
    (6)在Python中有一个raw string的概念,在raw string中的转义符不被处理,使用方式是在string前加前缀’r‘
rs = r'This is a raw string\n.'
      输出:
This is a raw string\n.
4、标识符命名。Python中标识符命名需要满足以下三点:

    (1)标识符必须从字母开始,字母可以是来自ASCII码或者Unicode码的大小写英文字母,也可以是下划线'_';

    (2)标识符剩余部分可由字母和数字组成;

    (3)区分大小写。myname和myName是不同的。

5、核心数据类型

对象 例子 备注
数字 1234,3.1415,999L,3+4j  
字符串 'spam', 'an apple' 不存在char类型
列表 [1,[2,'three'],4] 没有固定类型的约束
字典 {'food':'spam','taste':'yum'} 通过键值存储对象
元组 (1, 'spam', 4, 'U') 不可变的序列
文件 mayflies = open('egg', 'r')  
其他类型 集合、类型、None、布尔型  

6、对象。 Python是面向对象的,所有被处理的都被称为对象。

7、逻辑行和物理行。

      简单理解,一个逻辑行就是一个完整的语句,一个物理行就是IDE中的一行。

      尽可能将一个完整的逻辑行写在一个逻辑行内,不要使用';'分割两个逻辑行将其同时写在同一行中。

8、缩进。在Python中缩进很重要。

    (1)一行开始处的缩进决定了这一行所处的模块。在Python中不存在使用{}括起循环体或者模块,而是全靠缩进决定;

    (2)错误的缩进会引起error。

i = 5
# Error below! Notice a single space at the start of the line
 print 'Value is ', i
print 'I repeat, the value is ', i
      输出:
File "whitespace.py", line 5
    print 'Value is ', i
    ^
IndentationError: unexpected indent
三、基本语法

1、if测试

	if :
	  	
	elif :
		
   	else :
		

2、while循环

while :
      
else:
      

break:跳出循环体;continue:跳到循环首行;pass:什么都不做,占位;else:循环正常结束后执行

3、for循环

for  in :
	
	if : break
	if : continue
	else: 


四、常见问题要注意

1、不要忘记‘:’,不要使用‘;’;

2、dir函数可以显示对象可用属性的列表;Python中还有help函数、html报表、标准手册等帮助文档可以参考;

3、缩进很重要。空白行保留也很重要,在交互模式下可表示结束语句;

4、for循环速度通常比while循环速度快。



【参考资料】

1、A Byte of Python

2、《python进阶(一)(二)(三)》博文来自Rachel Zhang 

你可能感兴趣的:(【Python学习】)