一、py简介:
面向对象
弱语言类型、解释性语言 类似于脚本语言
不需要先编译后运行 ---> 运行,报错,终止程序
二、相对于C、C++
1.不需要声明数据类型,自动判断,没有double只有float
E.g:
A = 123 #整型; 注意这里如果写”A = 0123”会报错
C = 0.0 #浮点型
D = '0123' #字符型
print(A)
print(C)
print(D)
print(type(A))
print(type(C))
print(type(D))
输出
123
0.0
0123
<class 'int'>
<class 'float'>
<class 'str'>
***注意:一般而言,若是用input函数从主面板输入,会默认为字符型==所以使用时(尤其是调用数学函数时)一定要附加说明,否则会报错:“TypeError: not all arguments converted during string formatting”。
e.g:
time = int(input("please input the time:"))
if time % 60 == 0:
print("one hour!!!")
>>> please input the time:60
>>> one hour!!!
2.不区分单双引号;注释使用三引号(‘’’)或井号(#)
三、基本数据类型(这里会提到六种)
列表(list)、数字(number)、串(string)、元组(tuple)、字典(dictionary)。
1.列表的使用的基本说明:
E.g:
e = [1,2,"sda",12.12]
print(e[2])
>>>sda
2.数字:int(当然还是整型啦~~)float(融合了double的实数类型)complex(复数类型)
定义:a = 1
删除:del
使用:“del a”(意义不大)
e = [1,2,3]
del e[2]
print(e)
>>>[1, 2]
Complex(复数)型的使用
实数和虚数统称为复数。所以复数型的常规模式是a + b*i.在计算机中变为a+b*j
E.g:
A = 1
B = 2
print (complex(A,B)) #complex(实部,虚部的实数部分)
>>>1+2j
如果是complex(a),则输出(a+0j);如果是complex (0.a)则输出aj
E.g:
A = 1
B = 2
print (complex(A,B)) #complex(实部,虚部的实数部分)
>>> (1+0j)
>>> 1j
***不要以为它的形式是a+b*j就理所当然地认为它是虚数类型。实际上python中没有虚数类型,虚数只是实部为零的复数。
数字类型转换
检测返回数字类型:type函数
使用print函数时在函数体内修改变量的数字类型,可实现变量的强制类型转换。
E.g:
a = 1
b = 1.0
print(float(a))
print(int(b))
>>>1.0
>>>1
进制的使用与转化
E.g:
a = 0xA0F #给变量赋十六进制的初值
b = 0o37 #给变量赋八进制的初值
print(a,b)
print(bin(4)) #输出二进制的4
print(int('1001',2)) #输出二进制数字1001的十进制形式
print(hex(2575)) #输出2575的十六进制形式
print(int("0xa0f",16)) #输出十六进制数字0xa0f的十进制形式
输出:
2575 31
0b100
9
0xa0f
2575
运算符:
+ - * %取余
**乘方
/float
//取整
数学函数:
Abs(x) 整型绝对值
Fabs float型绝对值
Ceil(x) 向上取整
Floor(x) 向下取整
四舍五入 +0.5
四、包(模块) package
需要使用特殊命令“import”来导入模块。
调用模块中函数的方式:
第一种:按照“模块名.函数名”调用
如:使用向下取整函数floor:
import math
a = math.floor(3.9)
print(a)
>>>3
也可以使用变量来引用函数:
import math
pf = math.sqrt
print(pf(4))
>>>2.0
第二种:按照“from模块名 import函数名”形式调用
如:使用求完全平方函数sqrt的调用:
from math import sqrt
print(sqrt(9))
>>>3.0
***注意!!第二种只有在完全确定不会从多个不同模块调用不同作用的同名函数的时候才可以用。使用时一定要谨慎!!这里有一个例子:
import cmath
a = cmath.sqrt(-9)
print(a)
>>>3j
这里就没有使用“from... import...”语句,因为一旦使用这个语句,就没法使用普通的sqrt函数了。(cmath中的sqrt函数和普通的sqrt函数名相同但在不同的模块中)。这类命名冲突通常很隐蔽,因此除非真的需要from这个形式的模块导入语句,否则应该坚持使用普通的import