在python中,变量是没有类型的,变量存储的数据是有类型的
可以把变量当做一个存放物品的盒子
一、字面量
字面量:在代码中,被写下来 的 固定的值
python中常见的值的类型
二、注释
# 我是单行注释,一般要加个空格,更规范
"""
我也是注释,我事多行的
你好啊~
"""
三、变量
变量:在程序运行时 ,能储存 计算结果 或 能表示值的抽象概念简单的说, 变量就是在程序运行时,记录数据用的
-
print
- 可以通过 , 输出多个变量
-
type()
-
返回 变量类型
string_type = type("你好")
print(string_type)
输出 <'class str'>
-
-
数据类型转换
str()
float()
int()
- 任何内容都可以转换为字符串
- 字符串要转换为int或float类型,需要确保字符串中的内容只有数字
四、标识符
-
标识符命名:只能出现 英文中文数字下划线
- 不推荐使用中文
- 数字不能作为开头
-
标识符大小写敏感
-
不可占用关键字
五、运算符
-
算数运算符
-
赋值运算符
=
-
复合赋值运算符
六、字符串扩展
1. 字符串的定义
在Python中支持三种字符串的定义
- 单引号定义法: name = '你好'
- 双引号定义法: name = ""你好""
- 三引号定义法: name = """你好"""
- 三引号定义法,和多行注释的写法一样,同样支持换行操作.
- 使用变量接收它,它就是字符串
- 不使用变量接收它,就可以作为多行注释使用,
- 要定义的字符串本身,是包含:单引号、双引号自身
- 单引号定义法,可以内含双引号
- 双引号定义法,可以内含单引号
- 可以使用转移字符**(\)**来将引号解除效用,变成普通字符串
2. 字符串的拼接
使用 +
但无法和非字符串类型拼接
print("你好"+"世界")
name = "你好"
print(name + "世界")
add = 20020325111
#print("我住在" + add)
3. 字符串格式化
-
占位型拼接
多个变量占位 变量要用括号括起来 并按照占位的顺序填入
name = "你好" message = "%s 世界" % name #←拼接 printf(message) >你好世界 """ %d 、 %s %f """ class_num = 57 avg_salary = 11451 message = "我今年%s岁,工资是%s元" % (class_num ,avg_salary) print(essage)
% 为占位符
s 将变量变为字符串类型,放入占位的地方
-
通过语法:
f"内容{变量}"
的格式来快速格式化-
不关心精度问题,适合对精度没有要求的场合
-
不会理会类型
name = "刘"
addr = 114514
money = 202235.14print(f"我叫{name},我家门牌号为{addr},我的存款有{money}元")
我叫六,我家门派号是114514,我的存款有202235.14元
-
4. 字符串格式化的精度控制
我们可以使用辅助符号"m.n"来控制数据的宽度和精度
- m,控制宽度,要求是数字**(很少使用),设置的宽度小于数字自身,不生效**
- .n,控制小数点精度,要求是数字,会进行小数的四舍五入
示例:
-
%5d: 表示将整数的宽度控制在5位,如数字1,被设置为5d,就会变成:[空格][空格][空格]111,用三个空格补足宽度。
-
%5.2f:表示将宽度控制为5,将小数点精度设置为2
小数点和小数部分也算入宽度计算。如,对11.345设置了%7.2f后,结果是:[空格][空格]11.35。2个空格补足宽度,小数部分限制2位精度后,四舍五入为.35
5.表达式的格式化
以上四条都是对变量的格式化
下面是对表达式的格式化
print("1 * 1 的结果是:%d" %(1 * 1))
print(f"1 * 1 的结果是:{1 * 1}")
print("字符串在Python中的类型为: %s" % type("我是字符串"))
七、数据输入
input()
input输入的数据,统统为字符串类型
name = input("输入吧")
print("你输入了:%s" % name)
八、布尔类型和比较运算符
- 布尔类型
- xxx = True
- xxx = Flase
- 比较运算符 返回值为布尔类型
- ==
- !=
- <
-
=
- <=
九、if语句
基本格式
if 要判断的条件:
条件成立时,要做的事情1
条件成立时,要做的事情2
if 要判断的条件:
条件成立时,要做的事情1
条件成立时,要做的事情2
else:
条件不成立时,要做的事情1
条件不成立时,要做的事情2
if 条件1:
条件1满足应做的事1
条件1满足应做的事2
else 条件2:
条件2满足应做的事1
条件2满足应做的事2
else 条件3:
条件3满足应做的事1
条件3满足应做的事2
num = 100;
if num >= 60:
print("你及格了")
print("恭喜你")
else
printf("好可惜,加油")
print("我不归属于if代码块")
height = int(input("请输入你的身高(cm):"))
vip_level = int(input("请输入你的 VIP 等级(1-5):"))
today_date = int(input("请告诉我今天几号:"))
if height < 120:
print("身高小于 120cm,可以免费。")
elif vip_level > 3:
print("vip 级别大于 3,可以免费。")
elif today_date == 1:
print("今天是 1 号免费日,可以免费")
else:
print("不好意思,条件都不满足,需要买票 10 元。")
if判断的注意事项:
- 判断条件的结果一定要是布尔类型
- 不要忘记判断条件后的
:
- 冒号归属于if语句的代码块,要需在前方填充4个空格缩进(python 通过缩进来判断代码块的归属关系)
- elif可以写多个
- 判断是互斥且有序的上一个满足后面的就不会判断了
- 可以在条件判断中,直接写input语句,节省代码量
- 判断语句是可以嵌套的
十、while循环
格式
while 条件:
条件满足时,做的事情1
条件满足时,做的事情2
条件满足时,做的事情3
···(省略)..
注意事项
- 条件需提供布尔类型结果,True继续,False停止
- 空格缩进不能忘
- 请规划好循环终止条件,否则将无限循环3
- While可嵌套
十一、for循环
把待处理的数据集按顺序赋给临时变量。然后执行代码。直到赋完,
- 语法中的: 待处理数据集,严格来说,称之为: 序列类型
- 序列类型指,其内容可以一个个依次取出的一种类型 ,包括:
- 字符串
- 列表
- 元组
- 等
for循环语句,本质上是遍历: 序列类型。
range语句
- 语法一
- range(num)
- 获取一个从0开始,到num结束的数字序列(不含num本身)
- 如range(5)取得的数据是:[0,1,2,3,4]
- 语法二
- range(num1,num2)
- 获得一个从num1开始,到num2结束的数字序列(不含num2本身)
- 如,range(5,10)取得的数据是:[5,6,7,8,9]
- 语法三:
- range(num1,num2,step)
- 获得一个从num1开始,到num2结束的数字序列(不含num2本身) 数字之间的步长,以step为准(step默认为1)
- 如,range(5,10,2)取得的数据是:[5,7,9]
基础语法格式
for 临时变量i 待处理数据集:
循环满足条件时执行的代码
for循环的注意点
- 无法定义循环条件,只能被动取出数据处理
- 要注意,循环内的语句,需要有空格缩进
- for循环也可以嵌套
for循环临时变量作用域
-
for循环中的临时变量,其作用域限定为循环内
-
这种限定是编程规范的限定,而非强制限定
不遵守也能正常运行,但是不建议这样做
如需访问临时变量,可以预先在循环外定义它
十二、continue和break
continue,退出当前循环
break退出循环
他们可用在while 和 for中
注意:只能在作用在当层,无法对上层循环作用
十三、一些其他的小东西
关键字:random
用法:
import random
num = random.randint(1, 10)
函数:len
用法:
name = "liu"
length = len(name)
print(length)
>3