1.python优点:
强大,快速,兼容性强,入门轻松,是开源项目,与人工智能、数据分析、科学计算等这些高精尖项目直接挂钩,用途广,开放性强
2.pypi(python package index)
python的官方第三软件包仓库,是一个拥有成千上万第三方模块的地方,提供了许多用于python编程的开源软件包。
3.功能强大的python
做网站有许多成熟的框架,像flask,django,tornado;写爬虫有好用到哭的requests,和scrapy;随着numpy,scipy,matlotlib等众多第三方模块的开发和完善,不仅使python支持各种数学运算,还可以绘制高质量的2D和3D图像;和科学计算领域曾经最流行的商业软件matlab相比,python比matlab所采用的脚本语言应用更为广泛,可以处理更多类型的软文件和数据;人工智能可谓是当前最热门、工资最高的IT工种,用的最多也是python;最流行的神经网络框架如:Facebook的pyTorch和Google的Tensorflow都采用了python语言进行编写
4.IDLE(intergrated development and learning environment)即python的综合开发环境和学习环境,在开发上IDLE可能不是最好的编辑器,但在学习上它非常有利。高级编辑器可以帮助初学者完成很多操作,也会修正一些低级错误,但是这样容易让我们产生依赖性,让我们失去很多学习和锻炼的机会
IDLE两个模式:交互模式(给一个指令,有一个反馈)和编辑器模式(file-new file)
5.基本语法
- 快捷键 alt+p 表示上一句代码;ctrl+c表示强制停止运行程序
- 运算符(顺序由高到低):算术运算符、移位运算符(左移运算符<< ,右移运算符>>)、位运算符优先级、关系运算符、逻辑运算符(not and or)、赋值运算符
- 变量:就是一个名字,一个标签,通常由字母、数字、下划线组成,数字不能作为开头;当变量被创建后,使用变量名就能直接访问该变量;变量名区分大小写;变量值可变,其值是什么取决于最后一次赋值操作;不同变量的值可以传递 如x=3,y=5值的调换
- 字符串:表示文本序列
- 字符串加法是拼接,乘法是复制
- 字符串的三种主要编写方式
single quotes(使用一对单引号将文本包含起来)
double quotes(双引号)print(" let's go ")
triple quoted 即长字符串or三引号字符串(三个单引号or三个双引号,要求前后呼应):三引号里的内容不需要 \n\ 也可以实现未完结内容的换行
- 转义字符:是以\(反斜杠)开头,接另一个字符构成特殊含义
- 使用 \ 要注意不能将它放在末尾,\放在末尾表示这事没完,是一种跨行的方式
- 原始字符串:在字符串的第一个引号前加 r ,使用原始字符串,转义字符将不再有效
6.小游戏实践:
=是赋值运算符
input表示接受用户的输入并返回
新手可能遇到的问题:
- 请检查标点符号是否全部为英文符号
- 检查缩进是否正确
- 检查函数拼写是否正确
改进游戏:
- 用户猜错应该给提示
- 提供多次机会给用户
- 每次运行,答案随机
random模块可实现随机数
语法:import+空格+模块名
random模块里有一个randint函数,有两个参数,表示随机获取的整数范围
random.randint(a,b) a<=n<=b
注解:break语句 跳出循环体
在第十行用该语句,避免前两次猜对,程序仍然运行的状况出现
7.数字类型:整数、浮点数、复数
- 浮点数用科学计数法表示 0.00005表示为5e-05(e-05意思是10的负五次方)
- 如何精确计算浮点数:借助decimal(十进制)模块,用decimal的Decimal实例化一个对象
import decimal
a=decimal.Decimal('0.1')
b=decimal.Decimal('0.2')
print(a+b) -------0.3
复数(无论是实部还是虚部都是以浮点数的形式存放的):1+2j,1为实部,2j为虚部
若将1+2j赋值给变量x,则通过x.real获取实部数值1.0,x.imag获取虚部数值2.0
8.数字间的运算
加+; 减- ; 乘*; 除/ ; 地板除//(确保两数相除的结果为整数,如果不是整数就向下取整 如-3//2为-2); 取余%; x的绝对值abs(x) ;将x转化成整数int(x) ;complex(re,im),返回一个复数,re是实部,im是虚部 ;c.conjugate()返回c的共轭复数 ;divmod(x,y)返回(x//y,x%y);pow(x,y)计算x的y次方;pow(x,y,z)表示x的y次方除于z的余数
9.布尔类型
10.短路逻辑和运算级
例如:(not 1)or(0 and 1)or(3 and 4)or(5 and 6 and7) ----4
- 短路逻辑的核心思想:从左往右,只有当第一个数的操作值无法确定逻辑运算的结果时,才对第二个操作数进行求值
- python的运算符优先级讲的是运算表达式时执行的先后顺序,先执行具有较高优先级的运算符,下图运算符从上到下,优先级由高到低