Python 学习笔记01
2012-02-07 21:45
281 查看
1. Python的语句块是根据缩进来判断的,不需要begin/end标记
2.使用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”,如:
这样的话,\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.值得注意的是:
-----------------------
在迭代过程中修改迭代序列不安全(只有在使用链表这样的可变序列时才会有这样的情况)。如果你想要修改你迭代的序列(例如,复制选择项),你可以迭代它的复本。使用切割标识就可以很方便的做到这一点
-------------------------
这段代码其实就是先做一个列表的全部拷贝,因为在对列表做拷贝的过程中,python是复制列表的内容出来的,也就是生成另外一个列表,这样,就避免了对原先列表的不安全操作,
但是我这里暂时还没办法理解对原列表进行直接操作为什么不安全。
12.rang(10)会生成一个10个键值的列表,但是怎么在列表循环的过程中修改列表内容呢?
解决方法如下:
需要迭代链表索引的话,如下所示结合使用range() 和len()
i是索引,那么a[i]就是键值啦。
13.循环迭代的程序中如果要使输出不换行,那么就在print 后面加一个“,”就可以了
如下面的运算表程序:
14. Fibonacci 数列代码,其中注意的是在,a,b=b,a+b这一行中,2个赋值语句是同时进行的,也就是说在基于原来的数据中赋值的,并不是赋值后改变的数据再赋值。这个函数 打印输出来的结果就是:0,1,1,2,3,5,8,13.。。。。。。
--------------------------
15.从上面这一点看出,我们也可以了解到Python的函数定义方法为:
def name():
code
16.函数定义在当前符号表中引入函数名。作为用户定义函数,函数名有一个为解释器认可的类型值。这个值可以赋给其它命名,使其能够作为一个函数来使用。这就像一个重命名机制。也就是说定义的函数名可以用来赋值给其他变量,把其他变量名也变为这个函数的一个复制。
如:
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)
相关文章推荐
- Python学习笔记--01、Hello World!
- python数据结构学习笔记-2016-11-11-01-递归
- python数据结构学习笔记-2016-11-07-01-双链表
- python数据结构学习笔记-2016-12-10-01-AVL树
- python数据结构学习笔记-2016-10-28-01-带尾指针的链表和排序链表
- Python3学习笔记01-第一个Python程序
- python核心编程学习笔记-2016-08-05-01-习题9-19
- python数据结构学习笔记-2016-10-07-01-完善后的mydate.py
- python数据结构学习笔记-2017-01-08-01-N皇后问题、迷宫问题和跳马问题的递归解决
- python学习笔记(01):python和c语言 标识符命名规则比较
- python数据结构学习笔记-2016-10-22-01-评价python列表
- python 学习笔记01
- python数据结构学习笔记-2016-11-18-01-散列表ADT
- python 学习笔记(01)
- [Python][Scikit-learn][学习笔记01]线性回归之波士顿房价实例分析
- 【9-15】python学习笔记01
- python数据结构学习笔记-2016-11-20-01-直方图ADT
- Python 学习笔记01
- python3 学习笔记 01-01 初接触
- python数据结构学习笔记-2016-11-23-01-归并排序