Python-基础语法
认识python
python是一种面向对象的解释性计算机程序设计语言。常被成为胶水语言。
python优点
- 简单易学
- 免费开源
- 丰富的第三方库
- 可以移植
- 面向对象
python缺点
- 运行速度慢
python是解释型语言,代码在执行时会一行一行地翻译成CPU能理解的机器码,这个翻译过程非常耗时;C程序是运行前直接编译成CPU能执行的机器码,相对python而言执行非常快。 - 代码不能加密
- 强制的缩进
- GIL全局解释器锁
在任意时刻,只有一个线程在解释器中运行。对python虚拟机的访问由全局解释器锁(GIL)来控制,正式这个锁能保证同一时刻只有一个线程在运行。遇到i/o阻塞的时候会释放掉(GIL),所以python的多线程并不是真正的多线程,而是CPU执行速度非常快,让人感觉不到GIL的存在。
python应用场景
- Web后台开发
- 爬虫开发
- 数据分析
- 运维开发
- 机器学习
- 人工智能
python注释
- 单行注释
- 多行注释
两句特殊的注释:
#!usr/bin/python3;
:指定python解释器的路径
# -- coding=utf-8 --
:指定编码格式
这两句注释只能写在py文件最前面。
变量
变量是一段有名字的连续存储的空间,我们可以通过定义变量来申请并命名这样的存储空间,并通过变量的名字来使用这段存储空间。
变量是程序中临时存放数据的场所,在程序执行的过程中,变量的值可以改变。
变量的定义和使用
变量名 = 数据
python不用定义变量的数据类型
Python基本数据类型
查看数据类型:type(变量名)
a = true #布尔型 bool
a = () #元组类型 tuple
a = [] #列表类型 list
a = {} #字典类型 dict
变量的命名规则
命名规则:
- 变量必须以字母(a-z, A-Z)或下划线(_)开头
- 其他字符可以是字母、数字或下划线
- 变量区分大小写
- Python关键字不能用作变量名
命名规范:
- 见名知意,尽量使用有语义的单词命名。如使用password做密码,username做用户名。
- 小驼峰式命名法:第一个单词首字母小写,其他单词首字母大写,如userName
- 大驼峰式命名法:全部单词首字母都用大写,如UserName
- 下划线命名法:每个单词用下划线_连接,如user_name
Python基本运算符
-
算数运算符
-
比较运算符
-
逻辑运算符
优先级:()-> not -> and -> or -
赋值运算符
Python输入与输出
输出
字符串格式化:
- 方法一: 使用
%
做占位符,%
后面跟的是变量的类型。
常用的格式化符号:s
,d
,f
- 方法二:
.format
,如'姓名:{} 年龄:{}'.format(name,age)
输入
input()
获取键盘输入的内容
eg:
name = input("请输入您的姓名:")
age = int(input("请输入您的年龄"))
流程控制结构
流程: 就是计算机执行代码的顺序
流程控制: 对计算机代码执行的顺序进行有效的管理,只有流程控制才能实现在开发当中的业务逻辑
流程控制的分类:
- 顺序流程:代码一种自上而下的执行结构,也是python默认的流程
- 选择流程/分支流程:根据在某一步的判断,有选择的去执行相应的逻辑的一种结构
2.1 单分支
if 条件表达式:
python代码
python代码
python代码
……
2.2 双分支
if 条件表达式:
python代码
python代码
python代码
……
else:
python代码
python代码
……
2.3 多分支
if 条件表达式:
python代码
python代码
python代码
……
elif 条件表达式:
python代码
python代码
python代码
elif 条件表达式:
…………
else:
python代码
python代码
python代码
条件表达式:比较运算符/逻辑运算符/复合运算符
3. 循环流程:在满足一定的条件下,一直重复的去执行某段代码的逻辑【事情】
while 条件表达式:
python代码
python代码
python代码
……
for ... in 可迭代集合对象:
python代码
python代码
python代码
……
while
使用:适用于对未知的循环次数 用于判断
for
使用:适用于已知的循环次数【可迭代对象遍历】
break
和continue
关键字
break
关键字:代表中断结束,满足条件直接结束本层循环
continue
关键字:结束本次循环,继续进行下次循环(当continue
的条件满足的时候,本次循环剩下的语句将不再执行,后面的循环继续
这两个关键字只能用在循环中
短路运算
- 表达式从左至右运算,若
or
的左侧逻辑值为True
,则短路or
后所有的表达式(不管是and
还是or
),直接输出or
左侧表达式。 - 表达式从左至右运算,若
and
的左侧逻辑值为False
,则短路and
后所有的表达式,直到or
出现,输出and
左侧表达式到or
的左侧,参与接下来的逻辑运算。 - 若
or
的左侧为False
,或者and
的左侧为True
则不会出现短路
短路原则:
表达式用and
则将容易为False
的条件放到前面,表达式用or
则将容易为True
的条件放到前面