Python核心编程读笔 1
第一章 欢迎来到Python世界
1 Python特点:
高级的可进行系统调用的解释性语言
面向对象
可升级、扩展、移植
自动内存管理器(内存管理由Python解释器负责)
2 安装
Windows的安装只用从官网上下载一个安装包然后一步一步next到底即可,最后不要忘记勾选“添加到path”,或者自己后面手动添加path环境变量。安装好后在cmd中输入命令python即可检查有没有安装成功
3 运行
win版本安装好后,默认有一个python的IDE叫IDLE,可以直接在里面敲代码。或者也可以自己写好.py格式的程序,然后用cmd中去运行该.py文件
第二章 Python起步
(1) print
print 'hello world' 或者 print( "hello world" ) 或者 myString=“hello world” print myString
print的格式化输出: print “%s is number %d!!!” % ( "python", 1 ) 输出:python is number 1
print支持重定向:
import sys
print >> sys.stderr, 'some message!' 将输出重定向到标准错误输出
logfile = open( '/tmp/mylog.txt', 'a' )
print >> logfile, 'some message!' 将输出重定向到日志文件
logfile.close();
注意:print默认会给每一行添加一个换行符,只要在print语句结尾添加一个逗号,即可改变此行为
(2)raw_input() 读取标准输入
>>>user = raw_input( 'Enter login name: ' )
Enter login name: root
>>>user
'root'
>>>num = raw_input( 'enter a number: ' )
enter a number: 1024
>>>print 'doubling your number: %d' % ( int(num)*2 )
doubling your number: 2048
(3) 运算符
// 浮点除法(地板除,总是舍去小数部分)
** 乘方
<> “不等于”操作符,但目前慢慢被淘汰,用!=较好
and or not 逻辑运算符
(4) 数字
python支持5种基本类型:
int
long
bool
float
complex(复数)
(5)字符串
单引号、双引号、三引号
[:] 得到子字符串
+ 字符串连接
* 字符串重复
(6)列表和元组(理解成“数组”)
列表元素用[],元素的个数和内容可变;元组是只读的列表,元素用(),元素个数不变,元素内容可变
通过切片[:]可以得到子集
(7)字典
字典元素用大括号{}包裹:
>>> a = { "abc":2, "cde":3 }
>>>a["abc"]
2
>>>a["def"] = 7 此时a中会多一个元素!
(8)if语句
if x>0: #x>0并不需要用括号!
...
elif sth:
...
else:
...
(9)for语句、range()函数、enumerate()函数
for item in ['a', 'b', 'c']
for eachNum in range(3)
foo = 'abc'
for eachChar in foo
foo = 'abc'
for i in range( len(foo) ):
print foo[i], '%d' % i
foo = 'abc'
for i, ch in enumerate( foo ):
print ch, '%d' % i
(10) 列表解析
squared = [ x**2 for x in range(4) ] #现在squared列表中的元素有 0 1 4 9
sqdEvens = [ x**2 for x in range(8) if not x%2 ] #现在sqdEvens列表中的元素有 0 4 16 36
(11) 文件操作open()、file()
fobj = open( filename , 'r' )
for eachLine in fobj:
print eachLine,
fobj.close()
file()是python是最近才添加的函数,等同于open()
(12)错误和异常
使用try-except语句:
try:
filename = raw_input( 'Enter file name: ' )
fobj = open( filename, 'r' )
for eachLine in fobj:
print eachLine,
fobj.close()
except IOError, e:
print 'file open error: ', e
(13) 函数
如何定义函数:
def addMe2Me( x ):
'apply + operation to argument' #这是对函数功能描述的注释
return x+x;
调用函数:
>>>addMe2Me(4.25)
默认参数:
def foo( debug = True ):
if debug:
print 'in debug mode'
(14) 类
类是数据和逻辑的容器!!!
类定义实例:
class FoolClass( object ):
"My first class: FoolClass" #类说明,注释
version = 0.1 #静态成员!!! #构造函数!!!
def __init__( self, nm='John' ): #self类似于this
"constructor"
self.name = nm
print 'create a class instance for ', nm def showname(self):
print 'Your name is ', self.name
print 'My name is ', self.__class__.__name__ def shower(self):
print self.version def addMe2Me( self, x ):
return x+x
类使用实例:
fool = FoolClass( "hansonwang" ) #非常像调用一个函数
fool.shower() #调用成员函数
(15)模块
导入模块: import module_name
一旦模块导入完成,一个模块的属性(函数和变量)可以通过.号访问:
import sys
sys.stdout.write( "Hello World" )
sys.platform
(16) 实用的函数
dir( obj ) 显示对象的属性
help( obj ) 以一种整齐美观的形式显示对象的文档字符串
int( obj ) 对象→整数
str( obj ) 对象→字符串
len( obj ) 返回对象长度
open( filename, mode ) 以mode('r'=读,'w'=写)方式打开文件
range( [start,]stop[,step] ) 返回一个整数列表,start默认0,step默认1
raw_input( str ) str是提示信息
type( obj ) 返回对象的类型(返回值本身是一个type对象!)
Python核心编程读笔 1的更多相关文章
- Python核心编程读笔 12:OOP
第13章 面向对象编程 一.基本概念 1.object类是所有类的基类,如果你的类没有继承任何其他父类,object 将作为默认的父类. 2.python创建实例时无需new: myFirstObje ...
- Python核心编程读笔 10:函数和函数式编程
第11章 函数和函数式编程 一 调用函数 1 关键字参数 def foo(x): foo_suite # presumably does some processing with 'x' 标准调用 ...
- Python核心编程读笔 13:执行环境
第14章 执行环境 一.可调用对象 python有四种可调用对象:函数.方法.类.一些类的实例 1 函数 (1)内建函数(BIF) BIF是用c/c++写的,编译后放入python解释器,然后把它们 ...
- Python核心编程读笔 11:模块
第12章 模块 1.基本概念 模块的文件名就是模块名字.py 每个模块都定义了自己唯一的名称空间 模块的搜索路径:会被保存在 sys 模块的 sys.path 变量里 >>>sys. ...
- Python核心编程读笔 8: 文件和输入输出
第九章 文件和输入输出 一.文件内建函数.方法.属性 1 文件内建函数 file_object = open(file_name, access_mode='r', buffering=-1) 工厂函 ...
- Python核心编程读笔 7: 条件和循环
第八章 条件和循环 一.if python中的条件表达式:很奇葩!!! smaller = (x < y and [x] or [y])[0] 或者: smaller = x if x < ...
- Python核心编程读笔 6: 映射和集合类型
第七章 映射和集合能力 一 字典(python中唯一的映射类型) 1 基本 创建和赋值: 正常创建:>>>dict = {'name':'earth', 'port':80} 用工厂 ...
- Python核心编程读笔 5: python的序列
第六章 序列:字符串.列表.元组 一.序列 (1)序列类型操作符 seq[ind] 获得下标为 ind 的元素 seq[ind1:ind2] 切片操作 seq * expr 序列重复 expr 次 s ...
- Python核心编程读笔 4
第五章 数字 二.整形 1 布尔型 2 标准整数类型 3 长整型 数字后面加L,能表示非常非常大的数字 目前,整形和长整型逐渐统一!!! 三.双精度浮点数 四.复数 有关复数的几个概念: 表示虚数的语 ...
随机推荐
- uva 10655 - Contemplation! Algebra
---恢复内容开始--- Given the value of a+b and ab you will have to find the value of an+bn 给出a+b和a*b的值,再给出n ...
- asp.net 一个简单的登录控制
如果说一个网站需要用户登录后才能浏览,那么用户登录控制就不可避免.但是对于几百个以上的页面,不可能每个页面都做一次登录验证.因此,这需要在母版页中进行登录控制,这样就可以使得每一个使用这个母版页的子页 ...
- dom操作例子
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- NSString 遍历
遍历NSString网上大多数有两种方法 最简单有效的是: NSString *name=[[NSString alloc] initWithFormat:@"小猫咪爱上大老鼠!!" ...
- javascript 里找元素操作元素
javascript 一.找到元素. var d = document.getElementById("") var d = document.getElementsByNa ...
- Android Studio 没有assets目录的问题
Where to place the assets folder in Android Studio If you are having problems with asset files not ...
- 解决js跨域问题
如何解决js跨域问题 Js跨域问题是web开发人员最常碰到的一个问题之一.所谓js跨域问题,是指在一个域下的页面中通过js访问另一个不同域下 的数据对象,出于安全性考 虑,几乎所有浏览器都不允许这种跨 ...
- FastJSON应用前测试
FastJSON 应用前测试 FastJSON是一个很好的java开源json工具类库,相比其他同类的json类库,它的速度的确是fast,最快!但是文档做得不好,在应用前不得不亲测一些功能.\ 实际 ...
- (译)iPhone: 用公开API创建带小数点的数字键盘 (OS 3.0, OS 4.0)
(译)iPhone: 用公开API创建带小数点的数字键盘 (OS 3.0, OS 4.0) 更新:ios4.1现在已经将这个做到SDK了.你可以设置键盘类型为UIKeyboardTypeDecimal ...
- Spring、Hello AOP
AOP 概念:http://blog.csdn.net/moreevan/article/details/11977115 AOP 所使用到的jar 包: aspectjrt.jar common-a ...