Chinaunix首页 | 论坛 | 博客
  • 博客访问: 578971
  • 博文数量: 80
  • 博客积分: 2393
  • 博客等级: 大尉
  • 技术积分: 1434
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-03 21:46
个人简介

己所不欲勿施于人!

文章分类

全部博文(80)

文章存档

2017年(1)

2016年(9)

2014年(1)

2013年(17)

2012年(5)

2011年(13)

2010年(9)

2009年(8)

2008年(17)

分类: Python/Ruby

2013-04-28 14:31:19

注释

        和大部分脚本语言一样,Python也是用#标示注释。

变量与赋值

        Python是动态类型语言,也就是说不需要预先声明变量的类型。

        变量的声明也没有相应的关键字,

        例如

        conter = 0  #整数赋值

        miles = 1000.0   #浮点数赋值

        name = ‘liwei’   #字符串赋值

        counter = counter + 1   #对整数加1

        n = n*10

数字

        Python 支持五种基本数据类型,其中有三种是整数类型。

  • int (有符号整型)
  • long (长整型)
  • bool(布尔型)
  • float(浮点型)
  • complex(复数

字符串

Python支持使用成对的单引号或者双引号。

三引号(连续的三个单引号或者双引号)可以用来包含特殊字符。

使用索引运算符([ ])和切片运算符([ : ])可以得到子字符串。

字符串有其特有的索引规则:第一个字符的索引是0,最后一个字符的索引是 –1.

(+)加号用于字符串连接;星号(*)则用于字符串重复。

pystr = ‘python’

iscool = ‘is cool!’

>>>print pystr[0]

'p’

>>>pystr[2:5]

'tho’

>>> pystr + iscool
'pythonis cool'

>>> pystr*5
'pythonpythonpythonpythonpython'

 

列表和元组

可以将列表和元组当成普通的数组,他们能够保存任意数量任意类型的Python对象。

列表和元组的几点重要区别:

  • 列表元素用[ ]包裹,元素的个数以及元素的值可以改变。
  • 元组元素用小括号(())包裹,不可以更改。(尽管他们的内容可以)。
  • 元组可以看成是只读的列表。
  • 通过切片运算([ ]和[ : ])可以得到子集,这一点与字符串的使用方法一样。

列表:

>>> alist = [1,2,3,4]
>>> alist
[1, 2, 3, 4]
>>> alist[0]
1
>>> alist[2:]
[3, 4]
>>>

 

元组:

>>> aTuple = ('robots',77,93,'try')
>>> aTuple
('robots', 77, 93, 'try')
>>> aTuple[:3]
('robots', 77, 93)
>>> aTuple[1]=5
Traceback (most recent call last):
  File "", line 1, in
TypeError: 'tuple' object does not support item assignment

字典

字典是Python中的映射数据类型,工作原理类似perl中的关联数组或者哈希表,由键-值(key-value)对组成。

几乎所有类型的Python对象都可以用作键。

值可以是任意类型的Python对象,字典元素用大括号({})包裹。

>>> aDict = {'host':'earth'}
>>> aDict['port'] = 80
>>> aDict
{'host': 'earth', 'port': 80}
>>> aDict.keys()
['host', 'port']
>>> aDict['host']
'earth'

 

>>> for key in aDict:
...          print key,aDict[key]
...
host earth
port 80
>>>

代码块&&流程控制语句

代码块通过缩进对齐表达代码逻辑而不是使用大括号,因为没有了额外的字符,程序的可读性更高。

if 语句

if expression:

    if_suite

if…else

if expression:

    if_suite

else:

    else_suite

 

if expression1:
    if_suite
elif expression2:
    elif_suite
else:
    else_suite

while 循环

while expression:

        while_suite

for 循环

Python中的for接受可迭代对象(例如序列或者迭代器)作为其参数,每次迭代其中一个元素。

>>> for item in ['e-mail','net-surfing','homework','chat']:
...     print item
...
e-mail
net-surfing
homework
chat

在print item 后面增加一个,改变输出方式

>>> for item in ['e-mail','net-surfing','homework','chat']:
...     print item,
...
e-mail net-surfing homework chat

 

>>> foo = 'abc'
>>> for c in foo:
...     print c
...
a
b
c

>>> foo =['abc',123,999,010]
>>> for c in foo:
...     print c
...
abc
123
999
8
>>>

列表解析

这是一个让人欣喜的术语,表示你可以在一行中使用一个for循环将所有值放到一个列表当中

>>> squared =[x**2 for x in range(4)]   #x **2 x的平方
>>> for i in squared:
...     print i
...
0
1
4
9
>>>

列表解析可以做更复杂的事,比如挑选符合要求的值填入列表

>>> sqdEvents =[x **2 for x in range(8) if not x % 2]
>>> for i in sqdEvents:
...     print i
...
0
4
16
36
>>>

函数

类似其他的语言,Python中的函数使用小括号()调用。函数在调用之前必须先定义。

如果函数中没有return语句,就会自动返回None对象。

Python是通过应用调用的。这意味着函数内对参数的改变会影响到原始对象。不过事实上只有可变对象会受此影响,对不可变对象来说,他的行为类似按值调用。

定义函数:

def function_name([arguments]):

    "optional documentation string”

    function_suite

定义一个函数的语法由def 关键字以及紧随其后的函数名再加上该函数的需要的几个参数组成。

>>> def addme2me(x):
...     'apply + operation to argument'
...     return (x+x)
...
>>> addme2me(3)
6

 

类是面向对象编程的核心,它扮演相关数据及逻辑的容器角色。他们提供了创建“真实”对象(也就是实例)的蓝图。因为Python并不强求你以面向对象的方式编程(与java不同),

类的定义:

class ClassName(base_class[es]):

        “optional documentation string”

         static_member_declarations

         method_declarations

使用class 关键字定义类。可以提供一个可选的父类或者说基类;如果没有合适的基类,那就使用object作为基类。class行之后是可选的文档字符串,静态成员定义,以及方法定义。

如何创建实例

fool = FooClass()

Created a class instance for John Doe

模块

模块是一种组织形式,他将彼此有关系的Python代码组织到一个个独立文件当中。

模块可以包含可执行代码,函数和类或者这些东西的组合。

当你创建了一个Python源文件,模块的名字就是不带.py后缀的文件名。一个模块创建之后,你可以从另一个模块是重用import语句导入这个模块来使用。

如何导入模块

import module_name

如何访问一个模块函数或者访问一个模块变量

module.function()

module.variable

 

阅读(4895) | 评论(0) | 转发(2) |
给主人留下些什么吧!~~