注释
多行注释
使用’’’ ‘’’
注释的作用
- 提高可读性、效率
- 方便调试
变量和数据类型
变量
- 什么是变量?
变量其实就是个盒子,里面可以装各种东西,装了苹果,箱子和其他东西结合的时候就是属于苹果;装了香蕉,箱子和其他东西结合的时候,就是属于香蕉。
在python当中变量的概念和初中代数方程变量是一致的。
只不过在计算机中,变量不仅仅可以是数字,还可以是其他的任意类型。
变量 = 存储的数据
变量是一段有名字的连续存储的空间,我们可以通过定义变量来申请并命名这样的存储空间,并通过变量的名字来使用这段存储空间。
变量是程序中临时存放数据的场所。 - 变量如何来定义和使用
定义: 变量名 = 数据
变量是可以多次赋值的 - 变量命名规则
必须以字母或下划线开头; 不能以数字开头!
区分大小写;不能以关键字命名;
数据类型
- 元组 b = ()
- 列表 c = []
- 字典 d = {}
python基本操作运算符
算术运算符
比较运算符
结果是一个bool类型
逻辑运算符
and 都是真才是真
or 一个真就是真
not 取反
优先级: ()> not > and > or
赋值运算符
c += a ----- c = c+a
python输入和输出
格式化输出
- % 占位符,%后面跟的是变量类型
- %s 字符串类型
- %d 整形
- %f 浮点型
name = '老夫子'
QQ = '66666666'
phone = '546546'
addr = '重庆市万州区'
print("姓名:%s"%name)
print("QQ:%s"%QQ)
print("地址:%s"%addr)
print("电话:%s"%phone)
- .format()
name = '老夫子'
QQ = '66666666'
phone = '546546'
addr = '重庆市万州区'
print('姓名:{}'.format(name))
print('QQ:{}'.format(QQ))
print('电话:{}'.format(phone))
print('地址:{}'.format(addr))
输入
input
流程控制结构
流程:计算机执行代码的顺序
流程控制:对计算机代码执行顺序的管理,只有流程控制才能实现在开发当中的业务逻辑
流程控制的分类:顺序流程;选择/分支流程;循环流程
- 顺序流程:代码自上而下的执行结构,default
- 分支流程:根据在某一步的判断,有选择的去执行相应的逻辑的一种结构
单分支:if 条件表达式:
双分支:if else
多分枝:if elif~~else
条件表达式:比较/逻辑/符合 运算符 - 循环流程:在满足一定的条件下,一直重复的去执行某段代码的逻辑
while 条件表达式:
一条条的代码
一条条的代码
一条条的代码
·······
for ··· in 可迭代的集合对象:
一条条的代码
一条条的代码
一条条的代码
······
循环
语法特点
- 有初始值
- 有条件表达式
- 循环内计数变量要自增或自减,否则会造成死循环
使用条件
循环的次数不确定,要依靠循环条件来结束
循环目的
为了将相似或者相同的代码操作变得更加简洁,使得代码可以重复利用
for循环
使用条件
适用于已知的循环次数【可迭代对象遍历】
语法特点
遍历操作,依次的取集合容器中的每个值
range
此函数可以生成一个数据集合列表
range(起始值,结束,步长)
数据左包含,右不包含
break
退出循环
continue
跳过本次循环,继续下一次循环
作业
- 猜年龄小游戏
1.允许用户最多尝试三次
2.三次之后,如果还没猜对,就问用户是否还继续想玩,如果回答Y,让他再玩三次,以此往复;如果回答N,就退出程序
3.如果猜对了,就直接退出
age=30
times=0
while times<=3:
temp = int(input("猜猜我几岁了:"))
if temp == age:
print("恭喜你猜对了!")
break
pass
elif temp>age:
print('猜大了,请再试试!')
else:
print("猜小了,请再试试!")
times+=1
if times==3:
choose = input('想不想继续猜呢?Y/N')
if choose == 'Y' or choose == 'y':
times==0
pass
elif choose == 'N' or choose == 'n':
times==4
else:
print('请不要乱输入!')
- 小王身高1.75m,体重80.5KG。请根据BMI公式(体重除以身高的平方)帮小王计算他的BMI指数,并根据BMI指数:
低于18.5 过轻
18.5-25 正常
25-28 过重
28-32 肥胖
高于32 严重肥胖
用if-elif判断并打印结果
height=float(input('请输入你的身高:'))
weight=float(input('请输入你的体重:'))
BMI = weight/(height**2)
print(BMI)
if BMI<18.5:
print('过轻')
elif 18.5<=BMI<25:
print('正常')
elif 25<=BMI<28:
print('过重')
elif 28<=BMI<32:
print('肥胖')
elif BMI>=32:
print('严重肥胖')
高级数据类型
序列
在python当中,序列就是一组按照顺序排列的值【数据集合】
在python中存在三种内置的序列类型:字符串,列表,元组(字典不属于序列范畴)
序列优点:可以支持索引和切片操作
特征:第一个正索引为0,指向的是左端,第一个索引为负数,指向的是右端
字符串及常用方法
切片
截取字符串中的其中一段内容,可以根据下标获取序列对象的任意【部分】数据。
[start:end:step] step默认为1
print(strMsg[::-1]) 倒序输出,符号表示方向,从右往左去遍历
字符串及常用方法
- strip() 去除字符串中的空格【lstrip()删除左边的,右边同理】
- capitalize()首字母变大写
- id()查看内存地址
- find()查找是否在字符串中,返回的是下标值(找到一个就break),没找到返回-1
- index()检测字符串中是否包含子字符串,返回的是下标值,没找到报错
- startwith()是否以。。。开始,返回bool
- endwith()是否以。。。结尾,返回bool
- lower()转换成小写
- upper()转换成大写
列表及常用方法
list是一种有序的集合,可以随时添加或删除元素
特点:
支持增删改查;
列表中的数据是可以变化的【数据项可以变化,内存地址不变】
用[]表示列表类型,数据项之间用逗号分割
常用方法
- len()返回列表对象的数据个数,也可以返回字符串中字符的数量
- append()追加(列表可以多级嵌套)
- insert()插入(位置,数据)
- extend()扩展—批量添加
- 修改:list[位置]=要修改的内容
- del list[下标] 删除 / 也可利用切片批量删除
- remove()移除 参数是具体的数据值
- pop()移除指定的项 参数是索引值,不加参数删除最后一个
- index()索引,返回下标
元组
- 元组是一种不可变的序列,在创建之后不能做任何的修改
- 元组用()创建,数据项用,分割
- 可以是任何类型
- 当元组中只有一个元素是,要加上逗号,不然解释器会当做整形来处理
- 通用可以支持切片操作
元组的查询
- 可以通过下标取
- 可以对元组中的列表进行修改 tuple[1][2]
- unt() :统计数据项出现几次
字典及常用方法
字典也是python中重要的数据类型,字典是由 键值对 组成的集合,通常使用键来访问数据,效率非常高,和list一样,支持对数据的添加,修改,删除
特点:
- 不是序列类型,没下标概念,是一个无序的键值集合,是内置的高级数据类型;
- 用{}|来表示字典,每个键值用逗号分割
- 键必须是不可变的类型,值可以是任何类型
- 每个键必定是唯一的,如果存在重复的键,后者就会覆盖前者
- key()获取所有的键
- value()获取所有的值
- items() 获取所有的键值对
- update()可以添加或者更新
- 删除 del dectA[’ ']
- pop() 通过指定键进行删除
- sorted()排序
sorted(dictA.items(),key=lambda d:d[0])
#键值按照ASC码排序了
共有操作
合并操作+
复制*
in判断
函数
函数基础
- 函数:一系列python语句的组合,可以在程序中运行一次或多次,一般是完成具体的独立功能
- 为什么要使用函数:代码的复用最大化,最小化冗余代码,整体代码结构清晰,问题局部化
- 函数定义
def 函数名():
函数体
- 函数调用:函数名()
函数参数
def printInfo(name,height,weight,hobby):
print('%s的身高是%f' % (name,height))
print('%s的体重是%f' % (name