python进行数学计算,有其独特的地方。本文,介绍一下Python的数学运算和数学函数方面的基础知识。以下是小编为你整理的如何系统地自学python
先进行几个运算:
5/2*3+9
8*9-5/6
这两个算式,可以直接粘贴到python代码编译器里面,但是运行之后,没有输出结果。
其实,python已经运算了这个式子了,只不过没显示结果。
用print可以显示运算结果。
print(5/2*3+9)print(8*9-5/6)
如果我们想要看到一个完整的算式,需要把算式以字符串的形式返回。
print("5/2*3+9"+str(5/2*3+9))print("8*9-5/6"+str(8*9-5/6))
注意:
"5/2*3+9"就是一个字符串的形式,在英文输入法的双引号里面;
str(5/2*3+9)是对算式进行计算,并把计算结果转化为字符串;
+的作用是连接字符串。
基本运算
加减乘除的运算,和平常的一样:
print("5+6="+str(5+6))print("5/6="+str(5/6))print("5*6="+str(5*6))print("5-6="+str(5-6))
乘方运算2^100,在python里面,写为2**100:
print("2^100 = " + str(2**100))print("5^10 = " + str(5**10))
求余数,用%实现:
print("100除以5的余数是" + str(100%5))print("100除以90的余数是" + str(100%90))
注释的运用# 注释:不参与程序运行,作用是给给看代码的人一些提示。
# 我是一个大帅哥,这行是一行注释,#号后面的表示注释
"""
多行注释
多行注释
多行注释
"""
# 一般情况下注释都直接使用#号的形式
# 在正常开发中,三个引号对的注释形式一般是作为对整个文件的说明出现在文# 件的顶部
# 针对某一行代码的注释,可以放在代码语句的上面,也可以放在代码的后面
print(1801) # 系统提供的展示(打印,输出)功能
print(666) #
print() #默认以换行结尾
print(100-6) # 可以直接进行数学运算,打印结果就是运算结果
print(10086, 10+6) # 可以同时打印多个内容,多个内容之间用逗号隔开
print(1801, 3+6, 4+7) # 打印结果里,多个内容之间会默认有一个空格
# 单引号对和双引号对是等价的
print('**************分割符******************')
print('good.123我爱中国') # 引号引起来的叫字符串,单个字符也是字符串
print('love',end=' ') # end=''设置打印结尾的内容,默认是换行(\n)
print('****')
print('good morning', 666, '早上好', 4+6) # 字符串和数字可以混合打印
print('3+6') # '3+6'这是一个字符串,包含3个字符:3+6 不是数学运算
# 有些特殊的字符需要使用转义字符(\),转义字符本身也是特殊字符print('我\n的\'身高\'是\"18\\0')print(r'我\n的\'身高\'是\"18\\0') # 如果字符串以r开头,那么这个字符串中所# 有的转义字符全部失效。print('good' * 3) # 字符串可以和数字相乘,得到重复的字符串print('*'*10, '分割符', '*'*10)print('good' + 'morning', 666) # 字符串可以和字符串相加,得到一个拼接的字符串print('*'*20 + '分割符' + '*'*20)
请勿将代码复制直接使用,可能出现中英文格式错误,请读者手打练习。
导入numpy模块
在python IDE导入numpy模块,我用的是自带解释器
>>> import numpy as np
>>> np.array([1,2,3,4]) #通过array函数创建数组
array([1, 2, 3, 4])
>>> c=np.array([[1,2,3,4],[4,5,6,7],[7,8,9,10]])#二维数组,第0轴长度为3,第1轴长度为4,也就分别相当于矩阵的行数和列数
>>> c
array([[ 1, 2, 3, 4],
[ 4, 5, 6, 7],
[ 7, 8, 9, 10]])
>>> c.shape#数组的形状可以通过其shape 属性获得,它是一个描述数组各个轴长度的元组(tuple)
(3L, 4L)
3
>>> np.arange(0,1,0.1)#arange()函数指定了开始值、终值和步长创建等差数列的一维数组,注意不包含终值。
array([ 0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9])
4
>>> np.linspace(0,1,10)#指定开始值、终值和元素个数创建等差数列的一维数组,通过endpoint参数指定是否包含终值,默认为Ture,即包含终值
array([ 0. , 0.11111111, 0.22222222, 0.33333333, 0.44444444,
0.55555556, 0.66666667, 0.77777778, 0.88888889, 1. ])
>>> np.logspace(0,2,5)#logspace和linspace类似,区别在于它创建的是等比数列,起始值为10^0,而终值为10^2
array([ 1. , 3.16227766, 10. , 31.6227766 , 100. ])
如何入门学编程
然后你要学c语言,不管是谁,我都会建议他学学c,如果你对编程有一点点的了解,我真的建议你用c来入门,虽然现在有更容易学的脚本语言。你可以不学c++,但是一定要学c。
这个过程应该会在一到两个月左右。遇到问题可以百度,逛论坛,请教他人,总之充分利用资源。
当你已经学完了c语言,并且能用c语言实现一些常用的数据结构,你现在可以停一停了,想想以后要向哪一方面钻研。也许你在学习c语言的时候就在想这个问题,在逛那些论坛时你就看到了一些很火的方向。
但是,你要选一个自己喜欢,并且能挣钱的方向,哪些技术已经过时了,哪些领域比较新。信息技术行业的产品和技术更迭迅速,你最好在一开始就押对宝。
如果今后不幸,你的技术被某个新兴技术取代了(对于所有程序员来说,这几乎是迟早的事),不要沮丧,继续去学习。所学的知识在增多,我们的学习能力也在增强。
web分为前端和后端,如果你致力于成为前端工程师,你需要学习的有,html(现在它已经有了html5规范),css,javascript,jQuery,Ajax,以及一些ps技术。用这些,你就能做出绚丽并且功能强大的网页了。
你当然也可以选择后端,这是一项很有挑战性的工作。你可以学习php,适合快速开发。但是php的性能和可维护性不及java,java是个很好的学习方向,如果你掌握了java,你既可以学习开发网站,也可以尝试去学学Android(就是我的方向),虽然以后Andorid可能用更好的语言去开发。
c++也可以,新的c++11已经出来了,也许会比以前的c++...好吧,更复杂点。当然也有一些好的方案,python或者ruby,这些都是你值得考虑的。
对了,最近新出现的rust和go也不错。
如果你想学习软件或者游戏开发,如果是桌面软件开发,当然c++是必学的,还有各种图形库。
移动端的软件,当然Andriod,IOS,如果你想学IOS开发,首先最好有台mac,而且你还得学object-c,否则我觉得还是Android比较适合你。
python虽然好学,但是也要是付出努力之后,学懂了才会觉得好学,如果你没有动力,没有付出时间和精力,那对于你来说就是多好学也是非常的困难的!如何找到学习python的动力呢?以下是小编为你整理的python学习的方法
这是你学习之前的第一步,一定要清楚的知道,自己为什么要学习python,不论是为了达成某种目的,比如:工作中要用到?对以后发展有利?等等方面,绝不是凭空乱想的,一时兴起想要学习。
做任何事情,都需要有兴趣,不然,即便是你天天坐在那儿,埋头苦学,你的思想也在九霄云外遨游,不知所以。所以,提高学习兴趣是关键!
一定要设定目标,比如:我一个月要掌握基础,第二个月,也要学习框架等等,要给自己做好初期的预算,不能没有目标,学到哪儿算哪儿的态度是不可能学好东西的!所以,一定要给自己设定明确的目标,这样学习就会有动力,就像一只有人催促一样。
一定要有一个团队或者同伴,大家一起干一件事情要比你一个人孤零零的干快得多,也要有趣的多,可以少走很多的弯路,集体的力量是强大的,当你觉得学习越来越顺利的时候,你就会有动力去继续学习。
用python运算
或许,你觉得100+300太简单了,那我们可以尝试一个复杂的,在>>>后输入10*(100/2)/3+2,按下回车后,就可以看到结果了,各种四则运算,包括三角函数,python都是可以计算的
接下来我们看个更强大的功能,输入123456789098765432112345678900987654321834539845094368095486540978045765*123456789098765432112345678900987654321473287438759843579430965460940965940,按下回车,就会看到结果了,惊讶吗,强大吧,你可以打开windows自带的计算器计算这个式子,虽然也能计算出结果,但是它的结果却是很粗略的,不光是整数,小数也是可以计算的,小数在程序设计语言中一般称为浮点数。还有因为历史原因,计算机中出现的数学结果如e2,是指的10的2次方,这个和我们学的数学中的e是不一样了。
接下来我们尝试下三角函数的计算,我们输入sin(30),按下回车后,似乎出问题了,下面出现了一些红色的字符,注意遇到红色字符,就表明我们犯错了。注意有这么一句:
NameError: name 'sin' is not defined,意思呢就是python不认识sin,昨天我们用的print则是它认识的,那该怎么办呢,我们应该特别强调一下,告诉python,sin是数学中的三角函数,首先我们敲入import math告诉python我们要用一些数学的功能,然后在敲入math.sin(30)
看到结果了,似乎不对啊,这是怎么回事呢,实际上在python里面sin这个函数要的参数是以弧度为单位的,而我们给的是角度,如何把角度转换成弧度呢,python也给我们方法了,下来我们输入math.sin(math.radians(30)),这回结果就对了,其中math.radians就是把角度转换成弧度的
Python的特点
1.易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。
2.易于阅读:Python代码定义的更清晰。
3.易于维护:Python的成功在于它的源代码是相当容易维护的。
4.一个广泛的标准库:Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好。
5.互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断。
6.可移植:基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台。
7.可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。
8.数据库:Python提供所有主要的商业数据库的接口。
9.GUI编程:Python支持GUI可以创建和移植到许多系统调用。
10.可嵌入: 你可以将Python嵌入到C/C++程序,让你的程序的用户获得"脚本化"的能力。
加法运算
python中的加法运算,符号就是数学中的加号,再运算界面直接输入表达式,shell中直接输出结果。2.减法运算和加法运算都是和数学运算一致,直接使用减号。
乘法运算,使用的乘号是*,这个和数学中的运算稍微有些区别。输入8*9就代表数学运算中的8x9.除法运算使用的除号是/。输入9/3就代表数学运算中的9÷3.有一点需要特殊说明的是除法中还有另外一种情况。10.28/7和10.28//7,情况不一样。
由上图可以看出10.28/7得出的是真实的除法结果,而10.28//7得出的是1.0.这里的//是截断除法,指的是将他的运算结果向下取舍。**代表次方,2**3代表2的三次方,
还有一个比较常用的运算叫做求余,符号是%.它的作用是求出除法运算中的余数。两外一些常用的计算包括,比较运算中的>.输出的是布尔类型的值。
小于和大于的情况相似,以及小于等于,小于等于,等于,不等于。都是输出布尔类型。都是常用的判断语句中的条件,这些以后学习更复杂的运算中都会遇到。
混合运算和数学中的运算一样,有时候也需要用到括号来改变他们的运算顺序。总的来说,这些运算符和表达式都需要经常练习,记住他们的用法和注意事项。