一、算法是什么
算法是步骤或者食谱,对于做某事的一份详细描述
它包括一些按顺序执行的指令,一些需要考虑的特定条件。
二、数字和表达式
>>> 1/2 #0 py2 #0.5 py3 >>> 1//2 #0 整除 >>> 1%2 #1 取余 >>> 2**3 #8 幂
1、长整数
普通数字不能大于2147483647或者小于-2147483647,如需更大的数,在数的后边加L,例如;100000000000000000L
2、十六进制和八进制
十六进制和八进制首位数字都是0
>>> 0xAF #175 十六进制 >>> 010 #8 八进制
3、变量
变量代表着某值得名字,变量名字可以包括字母、数字、下划线_。变量不能以数字开头。
4、语句
表达式就是某件事情,语句就是做某件事情。比如2*2是4,而print(2*2)是打印4
语句的一般性特征:它们改变了事物,例如x = 2 赋值语句,赋值语句改变了变量,print 语句改变了屏幕显示内容
5、获取用户的输入
>>> x = input("x:") #x: 用户输入10 >>> y = input("y:") #y: 用户输入8 >>> print(int(x)*int(y)) #80
6、函数
函数就像小型程序一样,可以实现特定的功能。
>>> 2**3 #8 >>> pow(2,3) #8 求幂函数
通常把pow等标准函数称为内建函数。上例使用函数的方式叫做调用函数。
>>> abs(-10) # 10 求绝对值 >>> round(70.23456) #70 >>> round(56.659,1) #56.7 >>> round(80.264,2) #80.26 把浮点数四舍五入为保留的小数位
7、模块
模块是导入python以增强其功能的扩展。
import 导入了模块,然后按照“模块.函数”的格式使用这个函数。
>>> import math >>> math.floor(32.9) #32 不进行四舍五入,直接取整 >>> from math import sqrt >>> sqrt(9) #3 取平方,用from....import...导入模块相当于在文件中运行了函数,可直接调用
8、cmath 和复数
>>> import math >>> math.sqrt(-1) #ValueError: math domain error >>> import cmath >>> cmath.sqrt(-1) # 1j 虚数均以j结尾,就像长整数L一样
>>> (1+3j)*(9+4j) #(-3+31j) 虚数乘法
复数的平方根是虚数,math 中的 sqrt 只能处理浮点数。cmath (既 complex math,复数)。
这里不要使用from...import....,两个sqrt会造成类命名冲突,并且错误隐秘,除非真的必须使用from语句,其它情况下尽量使用import。
9、注释
井号(#),它右边的一切都被忽略。
10、字符串
>>> print("Hello world!")
"Hello world!" 就是字符串。
单引号字符串和转义字符串
单引号和双引号一般情况下没有任何区别,但那时也有特殊用处。
>>> "Let's go!" # "Let's go!" >>> ' " Hello world!" she said ' # ' " Hello world!" she said '
在第一个字符串它包含了单引号,这时就不能再用单引号括起来字符串了,在第二个字符串中包含双引号,就不能再用双引号括起来。
对引号进行转义
>>> 'Let\'s go !' "Let's go!"
拼接字符串
用一个接着另一写,python就会自动拼接他们
拼接字符串的一般方法用+
>>> "Hello"" world" ‘Hello world’ >>> "Hello"+" world" ‘Hello world’
字符串表示,str 和 repr
上面例子可以看出来,python打印字符串还是带着引号,用print 打印结果就不一样
>>> "Hello world" "Hello world" >>> print("Hello world") Hello world >>> 10000L 10000L >>> print(10000L) 10000 >>> print(repr("Hello world")) ‘Hello world’ >>> print(repr(10000L)) 10000L >>> print(str("Hello world")) Hello world >>> print(str(10000L)) 10000
长字符串
写一个非常长的字符串,需要跨行,用三个引号代替普通引号
如果一行中最后一行是 \ ,换行符本身就被转义了。就可以用普通引号写一个多行字符串。
原始字符串
原始字符串以 r 开头,原始字符串后边不能是反斜线 \ ,如果要输入反斜线要转义 \\ .
>>> path = "C:\nowhere" >>> print(path) C: owhere >>> path = r"C:\nowhere" >>> print(path) C:\nowhere
函数补充
>>> float(10) #10.0 将字符串和数字转换为浮点数 >>> int(10.9) #10 转为整型,只保留整数部分 >>> str(10) #"10" 转为字符串 >>> math.ceil(10.1) #11 向上取整 >>> math.floor(10.9) #向下取整