一、算法是什么
算法是步骤或者食谱,对于做某事的一份详细描述
它包括一些按顺序执行的指令,一些需要考虑的特定条件。
二、数字和表达式
>>> 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) #向下取整