注释
单行注释
以 # 开头,右边的内容都会被注释
原理:python在解析注释时,会一行一行检查是否有#,一旦有#号出现,就会把#右边的内容当成注释
单行注释可在代码上方和右边使用(如果是右边,为保证代码可读性,官方建议与代码间至少保留两个空格)
多行注释
使用一对连续的三个引号(单引号或双引号)
'''
这里是多行注释内容
这里是多行注释内容
这里是多行注释内容
'''
"""
这里是多行注释内容
这里是多行注释内容
这里是多行注释内容
"""
什么时候需要使用注释?
- 注释不是越多越好
- 关于复杂的操作,在开始前写上若干注释
- 对于不是很清楚的代码,在代码后使用单行注释
- 绝对不要描述代码
算术运算符
运算符 | 描述 | 注释 |
---|---|---|
+ | 加 | |
- | 减 | |
* | 乘 | |
/ | 除 | |
// | 取整除 | 返回除法整数部分 |
% | 取余数 | 返回除法的余数 |
** | 幂运算 | 次方,乘方 |
python程序执行原理
核心硬件:CPU、内存、硬盘
- 操作系统会首先让CPU把Python解释器的程序复制到内存中(Python解释器只占3M左右空间)
- Python解释器根据语法规则,从上向下让CPU翻译Python程序中的代码
- CPU负责执行翻译完成的代码
变量的使用
每个变量在使用前都必须赋值,变量赋值以后,该变量才会被创建
变量名 = 值
- 直接使用之前已经定义的变量
- 变量名 只有在第一次出现才是定义变量
- 变量名 再次出现,不是定义变量,而是直接使用之前定义过的变量
- 可以修改之前定义变量中保存的值
在内存创建一个变量,包括:
- 变量的名称
- 变量保存的数据
- 变量存储数据的类型(在python中,定义变量是不需要指定变量的类型的,在运行时,Python解释器,会根据赋值语句等号右侧的数据自动推导出变量中保存数据的准确类型)
- 变量的地址
变量类型
数字型 | 非数字型 |
---|---|
整型(int) | 字符串 |
浮点型(float) | 列表 |
布尔型(bool) | 元组 |
复数型(complex) | 字典 |
type(变量名) 命令可以查看变量类型
不同类型变量之间的计算
- 数字型变量之间可以直接计算
- 字符串变量之间使用 + 拼接字符串,* 重复字符串
- 数字型变量和字符串之间不能进行计算
变量输入——input()
password = input("提示信息")
#输出 提示信息 在后面输入内容,就会保存到password变量
类型转换
int(x)转换成整数 float(x)转换成浮点数
变量格式化输出
格式化字符 | 含义 |
---|---|
%s | 字符串 |
%d | 有符号十进制整数,%06d表示输出的整数显示位数,不足的地方使用0补全 |
%f | 浮点数,%.02f表示小数点后只显示两位 |
%% | 输出% |
示例
name = "小明"
age = 17
print("我的名字叫%s,我今年%d" % (name,age))
变量命名规则
- = 的左右应该各保留一个空格
- 变量名由多个单词组成
- 每个单词使用小写字母
- 单词间使用 下划线_ 连接
标识符
- 标志符可由字符、下划线、数字组成
- 不能以数字开头
- 不能与关键字重名
- 区分大小写
关键字
- 就是在python内部已经使用的标识符
- 具有特殊功能和含义
- 开发者不允许定义和关键字相同的标识符
判断
if语句
基本结构
if 判断条件:
条件成立时,要做的事情
......
注意:
- 代码的缩进为一个tab键,或者四个空格——建议用空格,因为tab在不同的系统代表的缩进是不一样的
- 在Python开发中,Tab和空格不要混用
if else 语句
if 要判断的条件:
条件成立时,要做的事情
.......
else:
条件不成立时,要做的事情
elif
要判断的条件不同,执行代码也不同,是平级的
if 条件1:
条件1执行的代码
elif 条件2:
条件2执行的代码
else:
以上条件都不满足时,执行的代码
if的嵌套
要判断的条件不同,执行代码也不同,但不是平级的
if 条件1:
if 条件2:
条件1成立,条件2也成立时,执行的代码
else:
条件1成立,条件2不成立时,执行的代码
条件1不成立时,执行的代码
else:
条件1不成立时,执行的代码
逻辑运算
and 与 | 条件1 and 条件2 两个都成立才成立 |
or 或 | 条件1 or 条件2 一个成立就成立 |
not 非 | 取 |
循环
顺序——从上而下,顺序执行代码
分支——根据条件判断,执行代码的分支
循环——让特定代码重复执行
while循环
while 条件(判断 计数器 是否达到 目标次数):
条件满足时,做的事情1
条件满足时,做的事情2
...
处理条件(计数器 + 1)
赋值运算符
= | 简单赋值
|
+= | 加法赋值 |
-= | 减法赋值 |
*= | 乘法赋值 |
/= | 除法赋值 |
//= | 取整除赋值 |
%= | 取余数赋值 |
**= | 幂赋值 |
break 和 continue
break 某条件满足时,退出循环,不再执行后面的代码
continue某一条件满足时,不执行当前这一次代码
函数
具有独立功能的代码块,组织成一个小模块,在需要时调用
函数使用:
定义函数——封装独立的功能
- def 是英文define缩写
- 函数名称要表达函数封装代码的功能,方便调用
- 函数名称应该符合标识符的命名规则
注意:定义了函数后,只是封装了代码,如果不调用函数,是无法执行代码的
函数的注释
- 在函数前空两行
- 在定义函数的下方,使用连续的三对引号,在引号之间写对函数的说明文字
- 在函数调用的位置,使用CTRL + Q 可以查看函数说明信息
- 使用pycharm添加函数注释:把鼠标放在函数名上,出现一个小灯泡,选择Insert decumentation string stub,就会在下方自动添加注释
def 函数名():
""" 函数说明信息 """
函数代码块
...
调用函数——使用封装
import 函数文件名
函数文件名.函数名() #调用函数
注意:定义在前,调用在后,除非使用了函数声明
函数的参数
- 在函数名的后面的小括号内部填写参数
- 多个参数之间使用 ,分隔
形参和实参
- 形参:定义函数时,叫形参
- 实参:调用函数时,叫实参
函数的返回值
一个函数执行结束后,告诉调用者一个结果
- return 返回结果
- 调用者使用变量来接收返回的结果
- return表示返回,下方的代码就不会再执行
函数的嵌套调用
一个函数里面又调用了另一个函数