您的位置:首页 > 编程语言 > Python开发

Python 学习笔记01

2012-02-07 21:45 281 查看
1. Python的语句块是根据缩进来判断的,不需要begin/end标记

2.使用utf-8 编码格式处理中文

# -*- coding: utf_8 -*-
#这个是测试能否用中文编码的语句


3.Python 可以当做一个计算器来使用直接输入公式就可以得到结果

python也支持复数运算,如4+3j 。带有后缀j 或J 就被视为虚数

复数的实部和虚部总是记为两个浮点数。要从复数z 中提取实部和虚部,使用z.real 和z.imag 。

4.浮点数和整数之间的转换函数( float() 和int() 以及long() ) 不能用于复数。没有什么正确方法可以把一个复数转成一个实数。函数abs(z) 用于获取其模(浮点数)或z.real取实部。

5.交互模式中,最近一个表达式的值赋给变量“_”。这样我们就可以把它当作一个桌面计算器,很方便的用于连续计算.

此变量对于用户是只读的。不要尝试给它赋值—— 你只会创建一个独立的同名局部变量,它屏蔽了系统内置变量的魔术效果。

6.字符串可以用单引号也可以用双引号,换行用“\n”,连续2行用在第一行末尾加“\”

如果是连续多行的话,也可以用3个双引号或者3个单引号。

如果需要原始数据的话,也可以在字符串前加“r”,如:
hello = r"This is a rather long string containing\n\
several lines of text much as you would do in C."
print hello


这样的话,\n就不会被转义。

字符串也可以切片。好玩,呵呵

7.Python 字符串不可变。就是你不能修改赋值给字符串中的某个索引的某个值。

字符串前面加u,如:

u'Hello\u0020World !'

会创建一个unicode字符串

8.Python 有几个复合数据类型,最通用的是list (列表) ,它可以写作中括号之间的一列逗号分隔的值。列表的元素不必是同一类型。

9。还可以这样赋值,a,b=0,1

在循环语句中,如果有输出,那么在下次循环的时候他会自动换行输出,除非你在 print 语句后面加一个逗号,这样就不会换喊输出了

10.raw_input("Please enter some value:") 获得的值是str的形式,需要的话转化成其他的type,如int(raw_input("Please enter some value:")) 就可以转化为int

11.值得注意的是:

-----------------------

在迭代过程中修改迭代序列不安全(只有在使用链表这样的可变序列时才会有这样的情况)。如果你想要修改你迭代的序列(例如,复制选择项),你可以迭代它的复本。使用切割标识就可以很方便的做到这一点
for x in a[:]: # make a slice copy of the entire list

if len(x) > 6:
a.insert(0, x)


>>> a
['defenestrate', 'cat', 'window', 'defenestrate']


-------------------------

这段代码其实就是先做一个列表的全部拷贝,因为在对列表做拷贝的过程中,python是复制列表的内容出来的,也就是生成另外一个列表,这样,就避免了对原先列表的不安全操作,
但是我这里暂时还没办法理解对原列表进行直接操作为什么不安全。

12.rang(10)会生成一个10个键值的列表,但是怎么在列表循环的过程中修改列表内容呢?

解决方法如下:
需要迭代链表索引的话,如下所示结合使用range() 和len()

for i in range(len(a)):
print i, a[i]


i是索引,那么a[i]就是键值啦。

13.循环迭代的程序中如果要使输出不换行,那么就在print 后面加一个“,”就可以了

如下面的运算表程序:

# -*- coding: utf_8 -*-
x=range(1,9)
for a in range(1,10):
for n in range(1,a+1):
#print 后面加了","号也就可以输出不换行了,而再通过判断再加一个print空格,恢复到换行的状态下。
print str(a)+'*'+str(n)+'=',a*n,
if n==a:
print

14. Fibonacci 数列代码,其中注意的是在,a,b=b,a+b这一行中,2个赋值语句是同时进行的,也就是说在基于原来的数据中赋值的,并不是赋值后改变的数据再赋值。这个函数 打印输出来的结果就是:0,1,1,2,3,5,8,13.。。。。。。

--------------------------
# -*- coding: utf_8 -*-
def fibonacci(n):
a,b=0,1
count=0
while a<n:
count=count+1
print a,b,count
a,b=b,a+b

fibonacci(100)


15.从上面这一点看出,我们也可以了解到Python的函数定义方法为:

def name():

       code

16.函数定义在当前符号表中引入函数名。作为用户定义函数,函数名有一个为解释器认可的类型值。这个值可以赋给其它命名,使其能够作为一个函数来使用。这就像一个重命名机制。也就是说定义的函数名可以用来赋值给其他变量,把其他变量名也变为这个函数的一个复制。

如:
f = fibonacci
>>> f(100)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息