python笔记
目录
第二章 python基础语法
1.字面量
1.1基本数据类型
1.1.1常用三种类型
2.注释
2.1注释的作用
注释:在程序代码中对程序代码进行解释说明的文字。
作用:注释不是程序,不能被执行,只是对程序代码进行解释说明,让别人可以看懂程序代码的作用,能够大大增强程序的可读性。
2.2注释的分类
-
单行注释:以 #开头,#右边 的所有文字当作说明,而不是真正要执行的程序,起辅助说明作用
-
多行注释: 以 一对三个双引号 引起来 ( """注释内容""" )来解释说明一段代码的作用使用方法
3.变量
5.数据类型转换
6.标识符
6.1命名规则
Python中,标识符命名的规则主要有3类:
-
内容限定:标识符命名中,只允许出现:英文中文数字下划线(_)这四类元素。
-
大小写敏感
-
不可使用关键字
6.2变量命名规范
6.2.1变量名
变量的命名规范:
-
见名知意
-
下划线命名法
-
英文字母全小写
类名
方法名
7.运算符
7.1算术运算符
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 | 两个对象相加 a + b 输出结果 30 |
- | 减 | 得到负数或是一个数减去另一个数 a - b 输出结果 -10 |
* | 乘 | 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200 |
/ | 除 | b / a 输出结果 2 |
// | 取整除 | 返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0 |
% | 取余 | 返回除法的余数 b % a 输出结果 0 |
** | 指数 | a**b 为10的20次方, 输出结果 100000000000000000000 |
7.2赋值运算符
运算符 | 描述 | 实例 |
---|---|---|
+= | 加法赋值运算符 | c += a 等效于 c = c + a |
-= | 减法赋值运算符 | c -= a 等效于 c = c - a |
*= | 乘法赋值运算符 | c *= a 等效于 c = c * a |
/= | 除法赋值运算符 | c /= a 等效于 c = c / a |
%= | 取模赋值运算符 | c %= a 等效于 c = c % a |
**= | 幂赋值运算符 | c = a 等效于 c = c a |
//= | 取整除赋值运算符 | c //= a 等效于 c = c // a |
7.3复合赋值运算符
运算符 | 描述 | 实例 |
---|---|---|
+= | 加法赋值运算符 | c += a 等效于 c = c + a |
-= | 减法赋值运算符 | c -= a 等效于 c = c - a |
*= | 乘法赋值运算符 | c *= a 等效于 c = c * a |
/= | 除法赋值运算符 | c /= a 等效于 c = c / a |
%= | 取模赋值运算符 | c %= a 等效于 c = c % a |
**= | 幂赋值运算符 | c = a 等效于 c = c a |
//= | 取整除赋值运算符 | c //= a 等效于 c = c // a |
7.4字符串拓展
7.4.1字符串的三种定义方式
1.字符串在Python中有多种定义形式:
-
单引号定义法:name = '小张爱打架'
-
双引号定义法:name = "小张爱打架"
-
三引号定义法:name = ""小张爱打架"""
三引号定义法,和多行注释的写法一样,同样支持换行操作。
使用变量接收它,它就是字符串不使用变量接收它,就可以作为多行注释使用
2.字符串的引号嵌套
单引号定义法:可以内含双引号
双引号定义法:可以内含单引号
可以使用转移字符(\)来将引号解除效用,变成普通字符串
7.4.2字符串拼接
1.如何完成字符串拼接?
使用“+”号连接字符串变量或字符串字面量即可
2.有哪些注意事项?
无法和非字符串类型进行拼接
7.4.3字符串格式化
1.我们可以通过如下语法,完成字符串和变量的快速拼接。
-
其中的,%s % 表示:我要占位
-
s 表示:将变量变成字符串放入占位的地方
2.数字也能用%s占位:这里是将数字转换成了字符串
3.Python中,其实支持非常多的数据类型占位最常用的是如下三类
格式符号 | 转化 |
---|---|
%s | 将内容转换成字符串,放入占位位置 |
%d | 将内容转换成整数,放入占位位置 |
%f | 将内容转换成浮点型,放入占位位置 |
7.4.4格式化的精度控制
1.字符串格式化 - 数字精度控制
我们可以使用辅助符号"m.n"来控制数据的宽度和精度
-
m,控制宽度,要求是数字(很少使用),设置的宽度小于数字自身,不生效.
-
n,控制小数点精度,要求是数字,会进行小数的四舍五入
示例:
-
%5d:表示将整数的宽度控制在5位,如数字11,被设置为5d,就会变成:空格[空格]11,用三个空格补足宽度。
-
%5.2f:表示将宽度控制为5,将小数点精度设置为2 小数点和小数部分也算入宽度计算。
-
如,对11.345设置了%7.2f 后,结果是:空格11.35。2个空格补足宽度,小数部分限制2位精度后,四舍五入为 .35
-
%.2f:表示不限制宽度,只设置小数点精度为2,如11.345设置%.2f后,结果是11.35
7.4.5字符串格式化 - 快速写法
1.通过语法:f"内容{变量}"的格式来快速格式化看如下代码
注意:
-
这种写法不做精度控制
-
也不理会类型
-
适用于快速格式化字符串
7.4.6字符串格式化 - 表达式的格式化
1.如何格式化表达式?
f"{表达式}""
%s\%d\%f" % (表达式、表达式、表达式)
![]()
7.4.6获取键盘输入
1.input语句(函数)
我们前面学习过print语句(函数),可以完成将内容(字面量、变量等)输出到屏幕上。
在Python中,与之对应的还有一个input语句,用来获取键盘输入。
-
数据输出:print
-
数据输入:input
使用上也非常简单:
-
使用input()语句可以从键盘获取输入
-
使用一个变量接收(存储)input语句获取的键盘输入数据即可
案例
# name = input("公司:")
# stock_code = input("股票代码:")
# stock_price = input("当前股价:")
# stock_price_daily_growth_factor = input("股票每日增长系数:")
# growth_days = input("增长天数:")
name = "小张公司"
stock_price = 19.99
stock_code = "003032"
# 股票 价格 每日 增长 因子
stock_price_daily_growth_factor = 1.2
growth_days = 7
finally_stock_price = stock_price * stock_price_daily_growth_factor ** growth_days
print(f"我的公司是:{name},股票代码是:{stock_code},股票价格是:{stock_price}")
print("每日增长系数是%.1f,经过%d天的增长后,股价达到了%.2f"%(stock_price_daily_growth_factor,growth_days,finally_stock_price))
第三章 Python判断语句
1.布尔类型和比较运算符
1.1布尔类型
布尔(bool)表达现实生活中的逻辑,即
-
真和假
-
True表示真False表示假。
True本质上是一个数字记作1,False记作0
1.1.1注意
布尔类型不仅可以自行定义,同时也可以通过计算的来。
也就是使用比较运算符进行比较运算得到布尔类型的结果。
1.2比较运算符
运算符 | 描述 | 示例 |
---|---|---|
== | 判断内容是否相等,满足为True,不满足为False | 如a=3,b=3,则(a == b) 为 True |
!= | 判断内容是否不相等,满足为True,不满足为False | 如a=1,b=3,则(a != b) 为 True |
> | 判断运算符左侧内容是否大于右侧满足为True,不满足为False | 如a=7,b=3,则(a > b) 为 True |
< | 判断运算符左侧内容是否小于右侧满足为True,不满足为False | 如a=3,b=7,则(a < b) 为 True |
>= | 判断运算符左侧内容是否大于等于右侧满足为True,不满足为False | 如a=3,b=3,则(a >= b) 为 True |
<= | 判断运算符左侧内容是否小于等于右侧满足为True,不满足为False | 如a=3,b=3,则(a <= b) 为 True |
2.if语句的基本格式
2.1if判断语句
2.2if语句的注意点
案例
print("欢迎来到王者荣耀,敌军还有五秒到达战场")
age = int(input("请输入你的年龄:"))
if(age >= 18):
print("您已成年,游玩需要补票10元。")
print("祝您游戏愉快")
else:
print("你未成年!")
3.if else 语句
-
else后,不需要判断条件
-
和if的代码块一样,else的代码块同样需要4个空格作为缩进
4.if elif else语句
-
elif可以写多个
-
判断是互斥且有序的,上一个满足后面的就不会判断了
-
可以在条件判断中,直接写input语句,节省代码量
5.判断语句的嵌套
5.1基本语法
如上图,第二个if,属于第一个if内,只有第一个if满足条件,才会执行第二个if
-
嵌套的关键点,在于:空格缩进
-
通过空格缩进,来决定语句之间的:层次关系
6.实战案例
代码:
import random
num = random.randint(1,10)
a = int(input("请输入您猜的数字(1-10):"))
if(a>num):
print("大了,再猜")
b = int(input("请输入您猜的数字:"))
if(b>num):
print("大了,再猜")
c = int(input("请输入您猜的数字:"))
if (c > num):
print("大了,再猜")
elif (c < num):
print("小了,再猜")
else:
print("猜对了")
elif(b<num):
print("小了,再猜")
d = int(input("请输入您猜的数字:"))
if (d > num):
print("大了,再猜")
elif (d < num):
print("小了,再猜")
else:
print("猜对了")
else:
print("猜对了")
elif(a<num):
print("小了,再猜")
m = int(input("请输入您猜的数字:"))
if (m > num):
print("大了,再猜")
n = int(input("请输入您猜的数字:"))
if (n > num):
print("大了,再猜")
elif (n < num):
print("小了,再猜")
else:
print("猜对了")
elif (m < num):
print("小了,再猜")
o = int(input("请输入您猜的数字:"))
if (o > num):
print("大了,再猜")
elif (o < num):
print("小了,再猜")
else:
print("猜对了")
else:
print("猜对了")
else:
print("恭喜,猜对了")
运行结果:
第四章 Python循环语句
1.while循环的基础语法
1.1 基础语法
1.2 while循环注意点
-
while的条件需得到布尔类型,True表示继续循环,False表示结束循环
-
需要设置循环终止的条件,如i += 1配合 i < 100,就能确保100次后停止,否则将无限循环
-
空格缩进和if判断一样,都需要设置
2.while循环的基础案例
代码:
a = 10 if int(input("请输入您所猜想的数字:"))==10: print("恭喜你猜对了") elif int(input("不对,再猜一次:"))==10: print("猜对了") elif int(input("不对,再猜最后一次:"))==10: print("猜对了") else: print(f"全部猜错了,我想的是{a}")
3.while循环的嵌套应用
3.1嵌套循环的语法格式:
3.2嵌套循环需要注意的地方:
-
同判断语句的嵌套一样,循环语句的嵌套,要注意空格缩进。
-
基于空格缩进来决定层次关系注意条件的设置,避免出现无限循环(除非真的需要无限循环)
3.3嵌套循环的使用难点:
-
循环条件的控制,层次越多越复杂,需要细心+耐心
4.while循环的嵌套案例
5.for循环的基础语法
5.1 for循环
5.1.1 for循环语句
while和for一些区别:
for循环就是将”待办事项”逐个完成的循环机制
同while循环不同,for循环是无法定义循环条件的。
只能从被处理的数据集中,依次取出内容进行处理。
所以,理论上讲,Python的for循环无法构建无限循环(被处理的数据集不可能无限大)
![]()
5.1.2 遍历字符串
定义字符串name
name = ”itheima”
for循环处理字符串
for x in name:
print(x)
-
for循环是将字符串的内容:依次取出
-
for循环也被称之为:遍历循环
5.2 range语句
语法中的:待处理数据集,严格来说,称之为:可迭代类型。可迭代类型指,其内容可以一个个依次取出的一种类型,包括:字符串,列表,元组等
5.2.1 语法
语法1:
range(num)
获取一个从0开始,到num结束的数字序列(不含num本身)
如range(5)取得的数据是:[0, 1, 2, 3, 4]
语法2:
range(num1,num2)(不含num2本身)
语法3:
range(num1,num2,step)
5.2.2 for循环遍历range序列
for i in range(5):
print(i)
示例:
代码:
num = int(input("请输入一个整数:"))
a = 0
for i in range(1,num):
if(i%2==0):
a+=1
print(f"1到{num}(不含100)的范围内,有{a}个偶数")
5.2.3 for循环中的临时变量
其作用域限定为:循环内
这种限定:
是编程规范的限定,而非强制限定
不遵守也能正常运行,但是不建议这样做
如需访问临时变量,可以预先在循环外定义它
6.for循环的嵌套应用
#九九乘法表
for i in range (1,10):
for j in range(1,i+1):
print(f"{j}*{i}={i*j}\t",end='')
print()
7.循环中断 : break和continue
用法:用以对循环进行临时跳过和直接结束
7.1 continue
continue关键字用于:中断本次循环,直接进入下一次循环
continue可以用于: for循环和while循环,效果一致
7.2 break
break关键字用于:直接结束所在循环
break可以用于: for循环和while循环,效果一致
8.综合案例
代码:
money = 10000
for i in range(1, 21):
import random
score = random.randint(1, 10)
if score < 5:
print(f"员工{i}绩效分{score}分,不发工资,下一位。")
continue
else:
money-=1000
print(f"向员工{i}发放工资1000元,账户余额还剩{money}元")
if money<=0:
print("工资发完了,下个月再来")
break