1. 概述
在本文中我会介绍关于在Python中各种数值类型及使用方法。加粗体代表我们已经介绍的内容,斜体代表新增内容。计算机编程的原理简要介绍
集成开发环境PyCharm
变量名、数字、字符串、列表
句式
输入和输出
条件判断语句
循环语句
注释
函数
模块和引入
各类数据结构
2. 数字
Python支持四种类型的数值类型:整数(int):顾名思义,正整数、零和负整数。
布尔型(bool):对或者错。
浮点数(float):有小数点的数都叫浮点数,包括科学计数法(不管有没有小数点的科学计数法都是浮点数)。
复数(complex):a+bj,或者complex(a,b),a为实部,b为虚部,a和b不管有没有小数点都是浮点数。我们学数学的时候都是a+bi,但是自从我学了电路之后我发现更常用的是a+bj,因为i代表电流,之后我发现Python定义一个复数也用a+bj,不知道是不是也是因为类似原因。
举例:
整数:369, +711, 0, -0, -8, -5201314, 0x6F, 0xbad1bad1, -0b11010110
布尔型:True, False
浮点数:0.0, 3.14, 1.414, .009, -1.3, -.6, 13e2, 1.3e14, -99.588E10
复数:1 + j, -10 + 9j, -8.8j, 9.777j + 3, complex(25, 333.333)
开头为0x的是十六进制,开头为0b的是二进制,不了解的同学先可以暂时忽略,我们以后会讲到。
3. 数值运算
基本数值运算有那么几个:加减乘除余数和乘方,具体如下,加法: +
减法: -
乘法: *
除法:/
除法(只取整数部分)://
余数:%
乘方:**
这里有俩除法,一条杠的除法就是可以理解为正常除法,3 / 2能算出1.5,2 / 2能算出1.0,用这种除法不论除数和被除数是否是整数还是浮点数或者是布尔型(接下来会解释),结果均为浮点数。两条杠的除法,若除数和被除数都是整数,结果也肯定是整数,但是不管除不除尽,都只取整数部分,小数部分全部舍去,没有四舍五入,如果除数和被除数两方有一个或者两者都是浮点数,结果就是浮点数,但是数值还是只取整数部分,小数部分也全部归零,没有四舍五入。
我们可以用PyCharm下边的Python console来玩玩,有兴趣的同学也可以尝试各种各样不同的值,比如用一个浮点数除以一个浮点数来算余数。
4. 布尔型的数值运算
其实布尔型就是用来判断东西对错的,因此它只有两个值,True或者False,如果非得放进公式里加减乘除,True相当于1,False相当于0。布尔型会在以后条件判断中大量应用,我也会在介绍条件判断语句的章节里介绍正误表、一元和二元运算。
5. 运算优先级
在Python中,运算长的公式是按照我们日常数学中的运算顺序,即正负号>乘方>乘除取余>加减,同级运算按照从左往右的顺序。
6. 一些Python内置函数
知道了数字,我们可以做一些简单的数学题了,比如“全班50个小朋友,平均每人有8个苹果,那么这个班一共有多少苹果?”之类的应用题。当然,Python的强大之处在于,它还给我们提供了各类内置函数供我们解决更高深的问题,我在这里为大家整理了一些,当然函数不止那么点,有兴趣的同学可以上网搜索“Python 3 内置函数”。
abs(x): 取x的绝对值
min(x1, x2, x3, ...): 输入一串数,取最小值
max(x1, x2, x3, ...): 输入一串数,取最大值
pow(x, y): 计算x的y次方,和 x ** y 一样
pow(x, y, z): 计算x的y次方再除以z的余数,和 x ** y % z 一样
bin(x): 把x转换为二进制
oct(x): 把x转换为八进制
hex(x): 把x转换为十六进制
round(x): 四舍五入x到个位,结果为最近偶数,类型是整数,这个四舍五入在Python3中对于十分位为5的数来说比较特殊,比如2.5、4.5、6.5等个位是偶数的,全部舍去,结果为2、4、5;而1.5、3.5、7.5这些奇数个位按照“五入”的方式得到2、4、8
round(x, n): 四舍五入x到小数点后n位,结果为浮点数。如果n为2,就是四舍五入到百分位;如果为0就是到各位,结果仍为浮点数;如果为-1就是四舍五入到十位,结果仍为浮点数
int(x): 将x转换为整数,不四舍五入,直接只取整数部分,结果为整数
type(x): 查看x的数据类型
7. math数学模块
对于很多其他的比如三角函数、对数、根号等等,我们可以从Python里写好的数学模块直接拿来用。首先,我们要在程序最上方写上:
from math import *
意思是从数学模块中,引入所有的函数和变量。
接下来我们就能尽情使用以下函数和变量了:
pi: 圆周率3.1415926...
e: 自然常数2.71828...
sqrt(x): 求x的平方根,x必须是非负数
sin(x): 正弦,x必须是弧度制
cos(x): 余弦,x必须是弧度制
tan(x): 正切,x必须是弧度制
exp(x): e的x次方
log10(x): 以10为底数,求x的对数
log(x): 这个相当于ln,以e为底数,求x的对数
log(x, n): 以n为底数,求x的对数
degrees(x): 把x从弧度转换为角度
radians(x): 把x从角度转换为弧度,可以把这个放进上面的三角函数中使用,如sin(raidians(30)),得出0.5,但实际由于算法问题得出0.499999,用round函数四舍五入一下就行了
当然不止以上这些,大家可以根据自己需要查一下math模块寻找想要的函数。
8. 解一道题
一个直角三角形,直角边分别为10和21,求三角形的面积、斜边的长,以及以此斜边做直径的圆的面积。
from math import *
leg_a = 10
leg_b = 21
area_triangle = leg_a * leg_b / 2
hypotenuse = sqrt(leg_a ** 2 + leg_b ** 2)
radius = hypotenuse / 2
area_circle = pi * radius ** 2
print("The area of this triangle is")
print(area_triangle)
print("The length of the hypotenuse is")
print(hypotenuse)
print("The area of the circle is")
print(area_circle)
建议大家用手打一遍这段代码,变量名不需要一样,最后运行出来结果应该是:
The area of this triangle is
105.0
The length of the hypotenuse is
23.259406699226016
The area of the circle is
424.9004063980196
PyCharm页面如下:
至于在很上面提到的二进制八进制十六进制我们以后会提到。如果对本文有什么建议意见请在评论区留言,谢谢!