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(*5))print("100除以90的余数是" + str(*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. ])
5
>>> np.logspace(0,2,5)#logspace和linspace类似,区别在于它创建的是等比数列,起始值为10^0,而终值为10^2
array([ 1. , 3.16227766, 10. , 31.6227766 , 100. ])
类的继承
如果已经定义了Person类,需要定义新的Student和Teacher类时,可以直接从Person类继承:
class Person(object):
def __init__(self, name, gender):
self.name = name
self.gender = gender
定义Student类时,只需要把额外的属性加上,例如score:
class Student(Person):
def __init__(self, name, gender, score):
super(Student, self).__init__(name, gender)
self.score = score
一定要用 super(Student, self).__init__(name, gender) 去初始化父类,否则,继承自 Person 的 Student 将没有 name 和 gender。
函数super(Student, self)将返回当前类继承的父类,即 Person ,然后调用__init__()方法,注意self参数已在super()中传入,在__init__()中将隐式传递,不需要写出(也不能写)。
python中判断类型:
函数isinstance()可以判断一个变量的类型,既可以用在Python内置的数据类型如str、list、dict,也可以用在我们自定义的类,它们本质上都是数据类型。
在继承链上,一个父类的实例不能是子类类型,因为子类比父类多了一些属性和方法。一个实例可以看成它本身的类型,也可以看成它父类的类型。
class Person(object):
def __init__(self, name, gender):
self.name = name
self.gender = gender
class Student(Person):
def __init__(self, name, gender, score):
super(Student, self).__init__(name, gender)
self.score = score
t = Teacher('Alice', 'Female')
print isinstance(t,Person)
print isinstance(t,Student)
print isinstance(t,Teacher)
print isinstance(t,object)