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,能表示非常非常大的数字 目前,整形和长整型逐渐统一!!! 三.双精度浮点数 四.复数 有关复数的几个概念: 表示虚数的语 ...
随机推荐
- Codeforces 551C GukiZ hates Boxes 二分答案
题目链接 题意: 一共同拥有n个空地(是一个数轴,从x=1 到 x=n),每一个空地上有a[i]块石头 有m个学生 目标是删除全部石头 一開始全部学生都站在 x=0的地方 每秒钟每一个学生都 ...
- python基础教程_学习笔记14:标准库:一些最爱——re
标准库:一些最爱 re re模块包括对正則表達式的支持,由于以前系统学习过正則表達式,所以基础内容略过,直接看python对于正則表達式的支持. 正則表達式的学习,见<Mastering Reg ...
- Oracle11g重建EM 报ORA-20001: SYSMAN already exists
日志: Apr , :: PM oracle.sysman.emcp.EMReposConfig createRepository : SYSMAN already exists.. ORA-0651 ...
- APP安全测评checklist
leader不要打我啊,我要借用一下我组app的安全测评检查方案,这些最基本的安全防范措施应该是每个app都要注意的吧: 对了,首先,你的app得先混淆啊~:AndroidStudio 混淆打包 先来 ...
- PL/SQL块loop..各种循环练习
--利用loop输出1到100的值并求和 ---loop exit end loop set serveroutput on; declare v_i ; v_sum ; begin loop )th ...
- EC读书笔记系列之18:条款47、48
条款47 请使用traits classes表现类型信息 记住: ★Traits classes使得“类型相关信息”在编译期可用.它们以templates和“templates特化”完成实现 ★整合重 ...
- socket 通信之select
对于socket 通信,大家很多都用的单线程通信.同时只能监听一个端口,只能响应一个服务,select的方式可以解决多个socket 被连接的问题.一次可以分配多个资源,只要一个连接便可以进行通信.在 ...
- 【转】vs2010下创建webservice
题记:学了六个月java一直想做java,没想到进了.NET项目组,还是VB2012,还有WebService,压力山大,这篇纯粹看看多图的效果,版主不要怪罪. Visual Studio 2010默 ...
- 让乌龟在提交cocos2d-x版本时自动去掉不需要的东东
引擎版本:2.1.4 ide:vs2012 一般协作开发情况下,有意思无意将bin.obj等一些目录添加到版本管理中是很烦人的事儿,在VS中不断地编译程序集和提交将带来版本暴增问题.如果你用的是乌龟S ...
- 窗体的扩展样式GWL_EXSTYLE用于SetWindowLong
SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) or WS_EX_TRANSPARENT or WS_EX_ ...