与数学中整数概念一致(数字大小没有限制,这和其余语言不一样),整数可正可负,默认状况下,整数采用十进制。其余进制须要增长相应的引导符号。
若是是二进制在前面加上0b或者0B便可,若是是八进制在前面加上0o或者0O便可,若是是十六进制在前面加上0x或者0X便可。html
与数学中的实数概念一致,取值范围与精度都有限制。
表达方式:
1.小数:1.23,3.14,-9.01
2.科学计数法:1.23e9,1.2e-5
浮点数运算存在不肯定位数,有偏差,这是因为计算机用二进制存储浮点数形成的。
若是要消除位数可使用round函数。
该函数原型为:round(number,ndigit=none)
python
与数学中的复数概念一致。
由实部和虚部组成,虚部用j表示。
例如:2+3j,2为实部,3j为虚部。
real方法取实部,imag方法取虚部。
complex(real,imag)函数能够用于建立一个职位real+imag*j的复数。git
python只支持加减乘除和幂运算。
与其余语言不一样的是,python的整数除法与浮点数除法是分开的。其中:
/为浮点数除法,结果为小数。
//为整数除法,结果为整数,向下(左)取余。
另外python提供了幂运算,符号为**,它的优先级高于乘除和加减。
python不支持自增自减。
注意python中的--i与++i不是自增自减操做,详见:python开发_++i,i += 1的区分shell
e 天然常数
pi 圆周率
log(x[,base=e]) 返回以base为底的对数,缺省为e
pow(x,y) 返回x的y次方
sqrt(x) 返回x的平方根
fabs(x) 返回x的绝对值
round(x[,n]) 返回浮点数x的四舍五入值,n表明舍入到小数点后的位数
divmod(x,y) 返回x和y的商和余数函数
python中没有字符类型,即便是一个字符也是字符串。
字符串是以引号括起来的任意文本,是一个有序序列
表示形式:
单引号:'abc'
双引号:"hello"
三引号:"'hello
world'"
关于这些引号的用法详见:Python中单引号,双引号,3个单引号及3个双引号的区别
转义字符:和C/C++基本一致.net
+链接字符串 >>>'hello'+'world'
'helloworld'
* 复制字符串 >>>'ab'*3
'ababab'code
字符串是一个有序序列,能够是正向递增,也能够是反向递减。
索引:在[]中给出序号
切片:在[]中给出切片序号
例如:orm
>>> a='abcdefgh' >>> a[0] 'a' >>> a[-8] 'a' >>> a[1] 'b' >>> a[1:5] 'bcde'
python中提供布尔值:True、False(注意首字母大写)。
逻辑运算和关系运算的结果是布尔值。
注意python3中不一样类型的数据不能够在一块儿比较。
另外python中支持连续的关系运算,如:
>>>1<3<5 #等价于1<3 and 3<5
另外与C/C++中不一样的是,逻辑运算符,与或非为and,or,not而非&&、||、!
另外按位与,或,异或,翻转python是支持的。
1.与运算:A与B值均为1时,A、B与的运算结果才为1,不然为0 (运算符:&)
2.或运算:A或B值为1时,A、B或的运算结果才为1,不然为0 (运算符:|)
3.异或运算:A与B不一样为1时,A、B的预算结果才为1,不然为0 (运算符:^)
4.按位翻转(按位取反):将内存中表示数字的2进制数取反0取1,1取0 (运算符:~)
运算符优先级与C/C++一致。htm
内置函数指不须要导入类的函数
如图:
类型转换函数实例:
基本格式:int(x[,base])blog
>>> int() #不传入参数时,获得结果0. 0 >>> int("02") #去掉0 2 >>> int(" 35 ") #去掉空格 35 >>> int("35",8) #八进制 29
python语句包括赋值语句,分支语句,循环语句等。
语句一般是一行一条,若是须要一行多条的话须要在语句末尾加分号。
若是一条语句过长咱们也可使用续行符来跨行表示。
基本形式是“变量=值”的形式。
>>> x=1 >>> y=2 >>> k=x+y >>> x 1 >>> y 2 >>> k 3
也能够进行序列赋值
>>> x,y=4,8 >>> x 4 >>> y 8 >>> a,b="34" >>> a '3' >>> b '4'
注意序列赋值时,两边序列容器中的元素个数必须一致不然会报错。
>>> i,j=[1,2,3] Traceback (most recent call last): File "<pyshell#18>", line 1, in <module> i,j=[1,2,3] ValueError: too many values to unpack (expected 2)
小技巧:在python中可使用序列赋值来进行swap
>>> a=4;b=8 >>> a,b=b,a >>> a 8 >>> b 4
还能够进行多变量赋值(即连等)
>>> a=b=c=5 >>> print(a,b,c) 5 5 5
if 逻辑表达式: 语句块1 else: 语句块2
这个没啥好说的。
for variable in 序列: 语句块
例如:
>>> s="hello,world" >>> for i in s: print(i,end='') hello,world
有时为了方便产生序列咱们引入range函数
range(start,stop,step)
start:计数从start开始。默认是从0开始。
例如range(5)等价于range(0,5)
stop:计数到stop结束,但不包括stop。
例如:list(range(0,5))是[0,1,2,3,4]没有5
step:步长,默认为1。
例如:range(0,5)等价于range(0,5,1)
注意range的返回值并不为序列,而是iterable,(具体是什么我暂时也不是很清楚,只知道能够在for循环中迭代使用,其余状况下只有变成列表才管用),须要用list()强制转换。
>>> list(range(10)) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> list(range(1,10)) [1, 2, 3, 4, 5, 6, 7, 8, 9] >>> list(range(1,10,4)) [1, 5, 9] >>> list(range(0,-10,-1)) [0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
基本格式:str.format()
>>> x=3.14159 >>> y=2*x*3 >>> print("{0:.2f} {1:.2f}".format(x,y)) 3.14 18.85
0和1表示format函数中的第一和第二个参数 .2f表示小数部分保留两位,四舍五入。 格式化的方法与C/C++一致。 除了format函数实际上还有一种方式%能够将字符串格式化,用法基本与这个一致,下节会提一下。