第一部分 准备工做
1、计算机入门知识
1. 语言:进行沟通的方式
计算机语言:跟计算机沟通的方式
2. 机器语言:计算机可以识别的语言。二进制(0,1)。高电位 低电位
汇编语言:助记符 add a b 低级的语言
高级语言:java python php c c++ .net go
3. 计算机的语言执行方式分:
编译执行:被编译一次以后,编译成二进制,下一次再执行直接执行二进制文件。
可移植性差。可是执行效率高。适合状况:windows,底层的,不常常修改需求的系统。
解释执行:每次运行都会解析一次原码,运行效率低,可是可移植性好。
适合的状况:开发网站,办公系统...需求常常修改开发
2、python简介
1.python历史
(1) 荷兰的龟叔 教学语言ABC 失败, 不是开源的
1989 圣诞节 python ,弥补ABC 不足, 实如今ABC 中没有实现的理想。
python是巨蟒, 飞行的马戏团
(2) 为何如今才开始火?
机器学习---facebook出的工具torch ---python出了python ----python完全火了
2. python的版本
2x
到2.7以后就不更新
3x,python社区主动推行3x:摒弃2里面的设计缺陷
3.python的特色
存在即合理
(1)语言简洁 :人生苦短,我用python
(2)面向过程、面向对象
(3)解释执行的语言:跨平台
(4)扩展性强:胶水语言
(5)强大的库进行支持
4.python的缺点
(1)速度
(2)原码不能加密
5.应用领域
(1)web开发:django
(2)网络爬虫
(3)数学分析科学计算
(4)游戏编程
(5)人工智能
3、安装
1. python的安装
注意:勾选 add path
2.开发工具的安装pycharm
4、环境变量
是操做系统中路径的集合
操做系统中的特殊信息,为了进行区分,不一样的环境变量取不一样的名字
path环境变量,记录的是能够直接找到exe可执行文件的路径
能够经过echo %path% 命令查看path的全部内容
能够经过set path=路径,进行添加路径。 可是这种方式,当关掉窗口以后,就会失效了。
经过图形界面:环境变量,进行永久修改。
5、python的执行
1. 交互:先使用python命令,调用python解释器,再输入python命令进行执行
程序是一行一行执行的,执行完成以后,等待下次输入
2. 脚本:把代码都放在一个脚本(.py)文件
执行的实行,输入python,调用解释器,输入文件名(注意,文件必须在命令执行的路径下)
python 路径文件名.py
说明:
交互执行和脚本执行的区别:
交互模式至关于一行一行的执行源代码,每输入一行就执行一行
脚本模式至关于启动python解释器以后,一次性的把py文件(源代码)执行,没有机会进入人机交互
第二部分 变量+常量
1、变量
1.变量的定义和内存结构
变量:变量用来使用指定的名字绑定特定的值
格式:变量名 = 变量值
注意:= 不是数学意义上的等号,而是赋值的概念
变量值赋予变量名
使用变量名绑定了变量值
其余语言里:变量赋值的过程,能够当作是把变量存储在一片内存中,这一片内存就是变量,静态语言
python:变量赋值能够当作给变量贴标签的过程
当咱们去写
a="ABC" python解释器:作两件事:
1.在内存中建立"ABC"
2.再建立一个a,而且把a指向ABC
2.多个变量指向同一个内存地址
python 基于值的内存管理,不一样变量绑定相同的值,内存中对于不可变类型来讲,只有一份值
3.修改变量绑定
一个变量一次只能绑定一个值。若是修改这个变量的绑定,跟原来的值进行解绑
python是弱类型语言,一个变量能够绑定多种类型的值
4.同时为多个变量进行赋值
a=b="abc"
5.变量定义的注意事项:
(1)英文、数字和_组合, 数字不能开头。标识符。
(2)变量在使用以前必须命名,变量只有被赋值以后才能在内存中被建立
6.变量的删除
删除的是变量名,不是变量值
2、常量
1. 普通变量
说不能变,定义常量的规则,将变量名所有大写
PI=3.1415926
2. None类型NoneType
内置常量,表示变量值的缺失
使用场景:在定义变量时,必须给变量一个明确的值的时候,会使用None来定义
None绝对不是空串,也不是0
第三部分 输入输出
输出 print, 会自带换行\n
在ptint 中设置end会设置print默认的结束符号,默认结束符号是\n
print("hello world","java","python",end="")
print("goodbye")
使用sep 设置分隔字符,分隔的是每个,的内容
print("x","y","z",sep="-")
输入 input(提示信息),阻塞状态的函数,执行input以后,程序会等待输入
i=input("请输入内容:")
print("刚才输入的内容:",i)
注释:都不通过python解释器解释
单行注释
使用# 注释一行内容,从#开始,一直到本行结束,都属于注释的内容
特殊注释:用来设置python解释器的位置,习惯上放在文件的第一行
内容:用来设置python解释器的位置
#!/usr/bin/python3 通常状况会在此路径下
#!/usr/bin/nev python3 :从你的path环境变量中来搜索python3文件
内容:设置文件编码
python3默认是utf-8
python2默认的是ASCII
#-*-coding:utf-8-*-
特殊的注释,不会被python解释器忽略
标识符和关键字
标识符:包括变量、函数、方法
注意:标识符不能跟关键字重名
标识符区分大小写
关键字:python中具备特殊语义的符号。
**map(函数,迭代对象):把迭代对象中的每个元素都按照函数执行
def a(x): return x + 1 b = map(a,[1,2,3,4,5]) print(list(b)) def map_new(func,seq): a = [] for i in seq: i+=1 a.append(i) return a b=map_new(a,[1,2,3,4,5]) print(b)
第四部分 数值类型
1.整型 int
定义
a=(1)
b=1
print(type(a),type(b))
取值范围
python语言其实分为整型和长整型,
python中int c语言中long 取决于机型,32位机器 -2^31 2^31-1
长整型 能够当作是无限大,实际上是计算处理不了,其实到了界限
python2.2版本开始,若是发生溢出,,会自动将整型转换为长整型
查看当前机型最大的整数值。
import sys
i=sys.maxsize
print(i)
**四种进制,逢n进位
二进制(使用0b或者0B做为前缀)
八进制(0o或者0O)
十进制(无前缀)
十六进制(0x或者0X)0-9仍是使用0-9,10-15使用a或者A 到f或者F
* 进制的转换
1,其余进制转换成十进制
乘幂
2,十进制转换成其余进制
下除法:除数是进制,最后的商,全部的余数拼接
bin()转换成二进制
int()转换成十进制
oct()转换成八进制
hex()转换成十六进制
3,其余进制之间的转换
*二进制和八进制 每三位做为一个位
*二进制和十六进制 每四位做为一个位
注意转换函数以后得到的数据类型
除了int得到的返回自是数值类型int之外,其余都是str字符型
int还能够将字符串转换成数值类型int类型
print(int("111"))
#print(int("111.1"))
若是字符串不能转换成整型,那么会报错
int()函数能够指定进制,若是不指定,默认按照十进制输出
第一个参数,字符串
指定的方式,在int中第二个参数指定2,、八、16
print(int("100,2"))
# print(int("120,2")) # 使用的时候要注意,若是指定进制,对应的数字必须符合指定进制的规范,不然没法转换
布尔类型bool-----整数类型int的子类型
两个值True 真 整数1 False 假 整数0 注意大小写
*布尔类型虽然能够当成1和0参与运算,可是通常不用这样使用
# 应用
1.运算符 关系运算符
2.条件 if for while
# 浮点型 float,只支持十进制
# i=01 #定义整型的时候,不能在数值前加0
浮点类型定义时,能够在前面加0
# 科学计数法: 把10 使用e代替
1.23*10^9
取值范围:浮点数不是无界限,
inf表明无限大 -inf 表明无穷小
*输出浮点数的范围
import sys
print(sys.float_info.max)
print(sys.float_info.min)
特殊的浮点数: inf 表明无穷大 NaN(not a number)
NaN 跟谁都不相等, 跟本身也不相等
print(float("nan"))
x=float("NaN")
print(3==x)
print(x==x)
能够经过math函数中的isnan方法判断当前变量是否是nan
import math
print(math.isnan(x))
浮点数的不精确性
print(10/3) #浮点数只能取计算机近似的数
# 使用浮点数时要注意
1.不能将两个数量级别差异很大的浮点数进行计算
2.尽可能避免进行等量的判断
# 解决不精确性,decimal类型
import decimal
x=decimal.Decimal(0.1)
print(x)
y=decimal.Decimal(0.2)
print(y)
# 使用字符串进行运算达到浮点的精确计算
x=decimal.Decimal("0.1")
y=decimal.Decimal("0.2")
print(x+y) #运算时才能有效?
#浮点数默认是有28位有效数字,可使用上下文环境修改有效位数
Context=decimal.getcontext()
Context.prec=10
x=decimal.Decimal(0.1)
y=decimal.Decimal(0.2)
print(x+y)
# 复数类型complex 实部+虚部
# 须要注意: 实部和虚部浮点类型
# 四种类型之间的转换"""int(参数) 能把其余类型转换成整数类型 若是不给参数,默认输出0float(参数) 转成浮点类型 默认输出0.0complex(参数) 转成复数类型 默认输出0+0jbool(参数)转成布尔类型 默认输出false"""f=0.1i=0c=1+2jb=Falseprint(int())print(float())print(complex())print(bool())print(int(f)) #当将浮点类型转换成整型,直接截断# print(int(c)) #不能把复数类型转换成整型print(int(b)) #原来是False---0 True----1print(float(i)) #直接。0# print(float(c)) #不能把复数类型转换成整型print(float(b)) #False---0.0 True---1.0# complex能够将任何一个类型转换成复数类型print(complex(i))print(complex(f))print(complex(b))#bool 布尔类型能够对任何类型进行转换print(bool(i)) #将整型转换成布尔类型, 0False,其余都是Trueprint(bool(i)) #0.0False 其余都是Trueprint(bool(i)) #0j False其余都是True