首页 > 技术文章 > Python核心编程读笔 1

hansonwang99 2015-11-03 22:40 原文

第一章 欢迎来到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对象!)

 

 

 

 

  

 

推荐阅读