Python学习笔记(一)

Python

 

Python.Wiki

 

关于Python的笔记都在这里了!

 

1. 介绍

简介

Python的官方介绍是:

 

python-chinese@list.python.cn
Python是一种简单易学,功能强大的编程语言,它有高效率的高层数据结构,简单而有效地实现面向对象编程。Python简洁的语法和对动态输入的支持,再加上解释性语言的本质,
使得它在大多数平台上的许多领域都是一个理想的脚本语言,特别适用于快速的应用程序开发。

2. Python 中的运算符

运算符名称说明例子
+两个对象相加3 + 5得到8、'a' + 'b'得到'ab'
-得到负数或是一个数减去另一个数-5.2得到一个负数、50 - 24得到26
*两个数相乘或是返回一个被重复若干次的字符串2 * 3得到6、'la' * 3得到'lalala'
**返回x的y次幂3 ** 4得到81(即3 * 3 * 3 * 3)
/x除以y4/3得到1(整数的除法得到整数结果)4.0/3或4/3.0得到1.3333333333333333
//取整除返回商的整数部分4 // 3.0得到1.0
%取模返回除法的余数8%3得到2、-25.5%2.25得到1.5
<<左移把一个数的比特向左移一定数目2 << 2得到8、2按比特表示为10
>>右移把一个数的比特向右移一定数目11 >> 1得到5、11按比特表示为1011,向右移动1比特后得到101,即十进制的5

3. 基本使用

注释

	>>> # Single Line Comments
	>>> """
	... More
	... Comments
	>>> """
	'/nMore/nComments/n'

字符串

Python的字符串其实可以理解为C的字符数组,但是这里是反过来理解,即字符是一个字节的字符串所以在Python里处理获得字符仅需要按照字符串的索引获得:

  • 正向
    	>>> word='Hello'
    	'Hello'
    	>>> word[0]
    	'H'
    	>>> word[4]
    	'o'
    
  • 反向
    	>>> word='Hello'
    	'Hello'
    	>>> word[0]
    	'H'
    	>>> word[4]
    	'o'
    
  • 截取一段
    	>>> word[1:3]
    	'el'
    	>>> word[:3]
    	'hel'
    	>>> word[3:]
    	'lo'
    	>>> word[-10:]
    	'hello'
    	>>> word[:-10]
    	''
    
  • 通过 """ 方式亦可表示长文本字符串
    	>>> hello = """
    	... hello,
    	... frank
    	... """
    	>>> hello
    	'/nhello,/nfrank/n'
    

列表

Python里有几种复合数据类型,其中最灵活的是列表,不需要类型唯一

	>>> a = ['spam', 'eggs', 100, 1234]
	>>> a
	['spam', 'eggs', 100, 1234]

这种列表的操作方式完全与字符串一样,可以通过 a[0], a[-1], a[1:3] 等等来获得各个索引位置的元素同时, 各个位置的元素是可变的,可以取片断,连接,删除部分等等,太强大了。

	>>> a[2] = 'pig' + a[2]
	>>> a[2]
	'pigeggs'
	>>> a[:2] + ['bacon', 2*2]
	['spam', 'pigeggs', 'bacon', 4]
	>>> a[:0] = a # 在开头插入自身
	>>> a
	['spam', 'pigeggs', 'bacon', 4, 'spam', 'pigeggs', 'bacon', 4]
	>>> a[0:3] = [] # 删掉前面4项
	>>> a
	['spam', 'pigeggs', 'bacon', 4]
	>>> a[1:1] = ['a', 'b']
	['spam', 'a', 'b', 'pigeggs', 'bacon', 4]

也同样支持嵌套列表,即类似[[1, 2], 3, 4]的情况,同时还可以用一系列列表方法:

	>>> a[1] = ['a', 'b']
	>>> a[1].append(2)
	>>> a[1]
	['a', 'b', 2]

一个Fibonacci序列的例子:

	>>> a, b = 0, 1
	... while b < 10:
	...     print b
	...     a, b = b, a+b
	...
	1
	1
	2
	3
	5
	8

Python还提供一个类似C语言printf的输出:

	print 'The value of 1/7 is approximately %5.3f., %3d' % (0.142857, 21)

流程控制

if语句

	>>> if x < 0:
	...      x = 0
	... elif x == 0:
	...      print 'Zero'
	... else:
	...      print 'More'

for语句

	>>> for x in a:
	...     print x, len(x)
	...
	>>>

range() 函数,用于生成包含数字序列列表:

	>>> range(10)
	[0,1,2,3,4,5,6,7,8,9]
	>>> range(5,10)
	[5,6,7,8,9]
	>>> range(0, 10, 3)
	[0,3,6,9]

函数定义

	>>> def fib(n):
	...     a, b = 0, 1
	...     while b < n:
	...         print b,
	...         a, b = b, a+b
	...
	... fib(2000)

函数参数,参数支持默认值

	>>> def ask(complaint = 'hello?'):
	...     return complaint
	...

数据结构

列表

常用工具

insert(i, x)
	在指定位置插入一项。
append(x)
	等于a.insert(len(a), x)
index(x)
	返回下标,找不到出错
remove(x)
	删除值为x的元素,找不到出错
sort()
	对列表元素在原位排序,这个方法直接改变列表,而不是返回值
reverse()
	反转列表
count(x)
	返回x在列表里出现的次数
函数式工具
filter(fn, list)
map(fn, list)
reduce(fn, list)
del语句

用于删除列表中的某个节点

	>>> del a[0]

元组

元组类似于静态语言的数组,但是是一次定义,无法修改的 其实际操作跟普通数组一致,无法使用列表的一切特殊特性 最常使用元组的情况:

	>>> print '%s, %s' % ('hello', 'world')
字典

字典是与JSON格式一致的key:value结构,每一对键值以逗号分隔开 不同于JSON,字典最后一对键值可以有逗号

	>>> {
	...     'name': 'wenhe',
	...     'age': '24',
	... }

4. 相关


5. Tips

一些奇技淫巧

让 Vim 变为 Python IDE


 

	Copyright © 2010-2011 All rights reserved,Drive by Vimwiki,Theme by 疯子™(honker.ying@gmail.com)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值