一、环境搭建
1.anaconda环境配置
首先讲下anaconda是个什么玩意。一直以来,想学python很久了,也下载了很多教学视频,关注了若干python公众号,一开始也楞是没懂为什么还要个这东西。anaconda是一个环境管理工具用来管理我们的python环境,python的环境包括解释器(运行python代码就是需要这玩意,下面会介绍解释器)和一系列的包的集合,而解释器分为了两个版本python2和phthon3,这两个版本有比较大的区别,写的代码不能互相通用,有些老的项目仍然采用python2而新的项目基本都是使用python。这就轮到anaconda来开始表演了,它会为我们每个程序配置环境和打包需要的模块。
具体的配置和使用可以参考此链接:https://www.jianshu.com/p/eaee1fadc1e9
2.解释器
上面讲到python的解释器,python并不需要先编译再执行,而是直接由解释器解释执行。解释器与python的关系就像,汽车要跑在马路上,子弹要上膛到枪中发射出去。解释器有几种,不过一般都是使用官方自带的解释器CPython。
二、python初体验
1.print and input
print,中文意思是打印,在python里它不是往纸上打印,而是打印在命令行,或者叫终端、控制台里面。我们一般管它叫输出,print是python里很基本很常见的一个操作,它的操作对象是一个字符串。
print('要打印的内容')
input,有了输出那自然就有输入,也就是提供你需要打印的内容。首先咱们得需要一个变量(什么是变量,下面会讲到)来保存你输入的内容,再把这个变量打印出来。
name = input()
print(name)
三、python基础
1.python变量特性+命名规则
上面讲到了把我们输入的东西保存起来用到了变量,那么变量是什么呢?从字面意思来,变量就是一个可变的容器,里面可以放多种类型的东西,以便我们随时使用。那么变量有哪几种数据类型呢?
字符串(表示一串字符,需要用 '' 或 "" 单双引号引起来)
整数
浮点数 (就是小数)
bool 布尔 (它只有两个值,True和False)
name = '你的名字'
num = 10
pricce = 1.28
visible = true
变量名尽量小写,如有多个单词,用下划线隔开
max_length = 10
第一个字符必须是字母或者下划线“_”
剩下的部分可以是字母、下划线“_”或数字(0-9)
变量名称是对大小写敏感的,myname和myName不是同一个变量。
2、注释方法
单行注释:#
多行注释:'''
#这一段注释
'''
这是一段
多行注释
'''
3、python中“:”作用
因为python使用缩进来表示语句块,而语句块的前面需要用上“:”,在函数、条件、循环、类后面都有语句块,至于这些的意思以后会讲到。
4、dir()和help()的使用
dir() 函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。如果参数包含方法__dir__(),该方法将被调用。如果参数不包含__dir__(),该方法将最大限度地收集参数信息。
那么讲了这么多到底是啥意思呢?一句话:它可以来查找一个类或对象的所有属性。
help()这个就厉害了,帮助我们了解模块、类型、对象、方法、属性的详细信息,也就是哪里不懂,就把哪给塞进help里。
5、import使用
python最强大的地方就是很多的模块库,需要什么功能就调用什么模块,那么这个调用就要用import了。语法就是:
import 模块名
6、pep8介绍
python使用 pep8作为编码规范
- 1 缩进与换行 每级缩进使用四个空格
- 2 限制每行的最大长度为79个字符
- 3 空行
- 顶层函数和类之间使用两个空行
- 类的方法之间用一个空行
- 在函数中使用空行表示不同逻辑段落
- 4 导入位于文件的顶部
- 5 避免多余空格
- 6 注释
- 注释要保持与时俱进 一句后面两个空格 跟注释
- 7 命名规范
- 除了正常的命名规范外
- 不要使用 大小写的L 大写的O 作为变量名
- 类名首字母大写 内部类 加上前导下划线
- 函数名应该小写 增强可读性可以使用下划线分割
- 8 其他
- 别用 ‘==‘ 进行布尔值 和 True 或者 False 的比较 应该用 is
四、python数值基本知识
1、python中数值类型,int,float,bool,e记法等
int 就是整数跟数学中的整数一样,像正数、负数等等。
float 就是小数,对于很大或很小的浮点数可以用科学计算法表示
bool 上面也讲到布尔,它只有两个值,True 和 False 和布尔代数完全一致
e记法 科学计算法表示10的几次幂,刚讲到的float数很大时就可以用e记法来表示,比如:2e3表示2乘以10的3次幂,等于2*10*10*10
2、算数运算符
+ 加法,两个数相加
- 减法
* 乘法
/ 除法
% 取余
** 求幂 比如 x**y x的y次幂
// 取整数,向下接近除数的整数
3、逻辑运算符
假设变量 a 为 10, b为 20
运算符 | 逻辑表达式 | 描述 | 实例 |
and | x and y | 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 | (a and b) 返回 20。 |
or | x or y | 布尔"或" - 如果 x 是 True,它返回 True,否则它返回 y 的计算值。 | (a or b) 返回 10。 |
not | not x | 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 | not(a and b) 返回 False |
4、成员运算符
运算符 | 描述 | 实例 |
in | 如果在指定的序列中找到值返回 True,否则返回 False。 | x 在 y 序列中 , 如果 x 在 y 序列中返回 True。 |
not in | 如果在指定的序列中没有找到值返回 True,否则返回 False。 | x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。 |
5、身份运算符
运算符 | 描述 | 实例 |
is | is是判断两个标识符是不是引用自一个对象 | x is y, 如果 id(x) 等于 id(y) , is 返回结果 1 |
is not | is not是判断两个标识符是不是引用自不同对象 | x is not y, 如果 id(x) 不等于 id(y). is not 返回结果 1 |
6、运算符优先级
运算符 | 描述 |
** | 指数 (最高优先级) |
~ + - | 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@) |
* / % // | 乘,除,取模和取整除 |
+ - | 加法减法 |
>> << | 右移,左移运算符 |
& | 位 'AND' |
^ | | 位运算符 |
<= < > >= | 比较运算符 |
<> == != | 等于运算符 |
= %= /= //= -= += *= **= | 赋值运算符 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not or and | 逻辑运算符 |