python学习笔记1
前言
鉴于目前python相当流行,所以开始自学,在win系统下安装了最新版本的3.2.1,下载了电子书籍《python基础教程》第二版,可惜没找到第三版,于是又安装了2.5版本的python,便于按照书的例子学习,同时也与3.2.1做了一些比较。
第一章
1. python是解释型的语言,电脑可以一句一句执行,而C++是编译型语言,编译连接后才能执行。
?
2. 一些表达式,3.2.1 和 2.5 有所区别
2.5: 1/2 —> 0, 1/2.0 —> 0.5, 1//2 —> 0,1.0//2.0—> 0.0
若想达到1/2—> 0.5的效果,需要执行from_future_import division语句,或者通过命令行运行Python时,使用命令开关-Qnew。
对于处理较大数时使用10000000L
十六进制:0xAF —> 175
八进制:010 —> 8
3.2: 1/2 —> 0.5, 1//2 —> 0,无长型整数L
八进制:010报错SyntaxError: invalid token
?
3.
(1)3 ** 2 等价于 pow(3,2)—> 9
(2)屏幕输出:2.5: print "Hello world"
??? ? ?? ????????? 3.2: print("Hello world")
(3)获取用户输入:>>>input("please input a number: ")
raw_input("what's your name ?"),3.2中没有此函数
??? 2.5:
>>> x = input("x: ")x: 2>>> y = input("y: ")y: 3>>> print x * y6
??? 3.2:需要进行类型转换,否则报错:can't multiply sequence by non-int of type 'str'
>>> x = input("x: ")x: 2>>> y = input("y: ")y: 3>>> print(int(x)*int(y))6
?(4)函数and模块
? abs(-1) —> 1
? round:四舍五入
??? 2.5
>>> round(1.0/2)1.0
??? 3.2
>>> round(1.0/2)0
?floor:向下取整 ceil:向上取整
>>> import math>>> math.floor(32.9)32.0>>> math.ceil(32.9)33.0
?调用模块math中函数的另一种方法
>>> from math import sqrt>>> sqrt(9)3.0>>> sqrt(-9)Traceback (most recent call last): File "<pyshell#15>", line 1, in <module> sqrt(-9)ValueError: math domain error
?上面求负数平方根报错,使用cmath模块,得负数的平方根为一虚数
>>> import cmath>>> cmath.sqrt(-9)3j#复数相乘>>> (1+3j)*(9+4j)(-3+31j)?
?
?
?