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,能表示非常非常大的数字 目前,整形和长整型逐渐统一!!! 三.双精度浮点数 四.复数 有关复数的几个概念: 表示虚数的语 ...
随机推荐
- 有一种设计风格叫RESTful
一 前言 刚看了<RESTful Web APIs中文版>.试读了前两章. 每本书的第一章都是抽象得不得了,是整本书的总结:开篇说基础有点简单,从教你怎么向地址栏输入地址訪问网页開始(某人 ...
- arm+linux 裸机环境搭建之安装工具篇(eclipse)
之前已经讲述如何安装gcc和gdb,在此不赘述! 一.所需要的软件有两个: jre-7u25-linux-i586.rpm(虚拟机) eclipse-cpp-kepler-R-linux-gtk .t ...
- 【MFC学习笔记-作业7-小型画图软件】【】
作业要求: 按下鼠标右键画圆. 按下鼠标左键移动曲线. 丝毫没有思路..网上教程又比这个程序复杂100倍... 好吧 总算找到一个合适的了... 转载至:http://blog.chinaunix.n ...
- OC——NSString的常用方法
NSString *str1 = @"BeiJing"; NSString *str2 = @"beijing"; //全部转为大写 NSLog(@" ...
- EC读书笔记系列之19:条款49、50、51、52
条款49 了解new-handler的行为 记住: ★set_new_handler允许客户指定一个函数,在内存分配无法获得满足时被调用 ★Nothrow new是一个颇为局限的工具,∵其只适用于内存 ...
- Python入门之中文乱码
python入门编码: Python 文件中如果未指定编码,有中文代码时候,在执行过程会出现报错: File "test.py", line 2 SyntaxError: Non- ...
- 第二章——Serializable的使用(跨进程使用和Intent的传递对象)
一.Serializable类(JAVA本身具有的) 简介:Serializable是一个接口. 作用:是JAVA提供的序列化接口,实现序列化和反序列化的操作. 二.跨进程使用 1.事前准备 publ ...
- hdu 5446 Unknown Treasure 中国剩余定理+lucas
题目链接 求C(n, m)%p的值, n, m<=1e18, p = p1*p2*...pk. pi是质数. 先求出C(n, m)%pi的值, 然后这就是一个同余的式子. 用中国剩余定理求解. ...
- python 自学笔记(四) 列表
有几天没有更新博客了,毕竟是自学,最近事情确实比较多,有时候想学的时候反而没时间,到有时间的时候反而不想学.以后得想办法改掉这个缺点,只要有时间就要学习自己想学的东西,希望自学的同学能和我共同交流,其 ...
- [solaris]odbc-oracle,简单测试
#include <string> #include <iostream> #include <stdio.h> #include <sql.h> #i ...