Python基础教程笔记 第一章
/ 表示整除,当导入_future_模块中的version时,/ 表示正常的的除法, 此时可用//表示整除,不论数字是整型还是浮点型,都可以用//表示整除。
** 表示幂次方 例如 2**3 表示2的3次方 结果为8
** 运算符的优先级比负号 - 的运算符优先级高,所以 -3**2 = -9 (-3)**2 = 9
Pow(3,2)函数也表示幂次方的计算,此函数表示3的2次方,结果为9
输入使用input函数,input(“please input a number:”) 此语句会输出please input a number:这句提示语句后让用户输入数据。
abs()函数是取绝对值 例如:abs(-4) 结果为4
round()函数是四舍五入取整数,与整数除法不同,整数除法是删除小数部分。 例如:round(4.5) 结果为5, round(4.4) 结果为4
Math模块中的floor()函数是取浮点型整数的不超过该数值的最大整数。 例如:math.floor(32.9) 结果为32.0
Int(32.9) 强制类型转换也是向下取整,其结果也是32。
与floor之相对应的是ceil()函数,它的作用是取不小于该数值的整数。
python的模块导入有两种方式,一种是import math 直接导入模块,这样在使用模块中的函数时前面要加上模块的名字,以防模块中的函数与其他模块中的函数重名时,调用函数有歧义。另一种是form math import sqrt 从模块中导入一个函数,该函数可以直接使用,无需在前面加上模块名。
Python中可以使用变量来引用函数。例如:import math math.sqrt(9) 结果为3.0, 当令foo = math.sqrt时 foo(3) 的结果也为3.0 和前一个方法具有相同的效果。
当用math模块中的sqrt函数来对一个负数开根号时会出现nan的结果,nan表示“not a number”(非数值),这是因为math模块中的sqrt函数只能处理浮点数。使用cmath(complex math,复数)模块中的sqrt函数即可计算负数的开根号。例如:import cmath cmath.sqrt(-1)的结果为1j ,此时的j或者J表示虚部。(1+3j)*(9+4j) 其结果为(-3+31j)。
Python中没有单独的虚数类型,所有的虚数都是被看作为实数部分为0的复数(实数与复数之和)。
有时候会希望像其他程序(比如浏览器,文本编辑器)一样运行python程序(也叫做脚本),而不需要显示的使用python解释器。在unix中有个标准的方法:在脚本的首行加上#!(叫做pound bang或者shebang),在其后面加上解释脚本的程序的绝对路径(这里是python)。#!/usr/bin/env python 不管python二进制文件在哪,程序都会自动执行。
有些安装了旧版本的python的环境可能需要修改后面的绝对路径。
在实际运行脚本前,必须让脚本具有可执行的属性:
$ Chmod a+x hello.py
现在就可以这样运行代码了:
$ hello.py
在window下运行程序时,可能会出现程序执行完,窗口跟着就关闭的现象,在程序的最有加上raw_input(“Press <Enter>”),可以解决这个问题。
Python中的注释是使用‘#’号
Python中的’单引号和’’双引号作用相同,都可以表示字符串,只不过当一个字符串中含有单引号或者双音号时,相应的使用双引号或者单引号来表达字符串。避免解释代码时产生歧义。或者使用转义字符。
Python中可以使用加号+ 来连接两个字符串。但是不能用加号来链接字符串和整数。
Python中值被转换成字符串的两种机制是str和repr ,前者是把值转换成合理形式的字符串,以便用户的理解。例如:print str(“hello world”)输出为 hello world。 Print str(10000L) 输出为 10000。 后者会创建一个字符串,它以合法的python表达式的形式来表示值。例如:print repr(“hello world”) 输出为’hello world’。 Print repr(10000L) 输出为 10000L。repr(X)函数的功能可以用`X`来替换(注意:是反引号,不是单引号)。例如:temp = 42 repr(temp)和`temp`的效果一样,都产生字符串’42’ 。可以该机制使得整型转换为字符串与字符串相加。(python3 中已经不再使用反引号了,最好全部都使用repr函数)
Python中input会假设用户输入的是合法的表达式。raw_input 会把输入当作原始数据,存入字符串中。一般无特殊要求的情况下,都使用raw_input函数。
三引号’’’ 中间可以输入长字符串,可以是多行的,无需要每行后面加上反斜杠\作为换行的标志。在单引号’和双引号’’之间的字符串换行时需要加上反斜杠\表示换行。
在字符串前加上r,可以表示原始字符串,例如:print r’c:\Program File\foo\bar’ ,输入直接为c:\Program File\foo\bar,为不需要转移字符。但是原始字符串最后一个字符不能为反斜杠\,否者程序会不清楚到底是否应该结束该字符串。如果必须在字符串的最有加上一个反斜杠\,那么可以多加一个转义字符反斜杠\,或者将字符串最后的反斜杠\与字符串分开写。
Unicode字符串。普通python的字符串是以8位ascii码存储的,unicode字符串是以16位unicode字符存储,可以表示更多的字符集,包括世界上大多数语言的特殊符号。Unicode字符串的用法与原始字符串r一样,在字符串前加上u。例如:u”hello world”。Python3中的所有字符串都是unicode字符串。