Appearance
Python中常见的6种数据类型
- 数字(Number)
python
int #整数
float #浮点数
complex #负数
bool #布尔字符串(String)
- 描述:用于描述文本的数据类型
- 说明:由任意数量的字符组成,用单引号(
')、双引号(")或三引号('''或""")包裹。例如:'hello'、"world"、'''Python'''、"""String"""
列表(List)
- 描述:有序的可变序列
- 说明:Python 中使用很频繁,可有序记录一堆数据,用方括号
[]包裹,元素间用逗号分隔。例如:[1, 2, 3, 'a', 'b'],可通过索引修改、添加、删除元素
元组(Tuple)
- 描述:有序的不可变序列
- 说明:可有序记录一堆不可变的数据集合,用圆括号
()包裹(也可省略括号),元素间用逗号分隔。例如:(1, 2, 3)、'a', 'b',一旦创建,元素不能修改
集合(Set)
- 描述:无序不重复集合
- 说明:可无序记录一堆不重复的集合,用大括号(
{})包裹注:{}内不能为空,要为空需用set(),元素之间用,分割。如:{1, 2, 3},会自动去重
字典(Dictionary)
- 描述:无序的键对值(
Key - Value)集合 - 说明:可无序记录一堆键对值的数据集合,用大括号(
{})包裹,每个键对值用冒号(:)连接,键对值用,分隔。如{'name' : 'Alice', 'age' : 20},键具有唯一性
- 描述:无序的键对值(
查看数据类型(type)
python
type("数据") #括号中填写数据
print(typle("数据")) #输出数据类型注释
- text
# 这是一个单行注释。(建议#后面加空格) """ 这是一个多行注释 """
定义变量
- python
sum = 10 # 变量名 = 变量值 print("总数:",sum) # 输出sum
数据类型转换
python
# 整数转字符串
num_str = str(11)
print(type(num_str),num_str)
# 浮点数转字符串
float_str = str(3.14)
print(type(float_str),float_str)
# 想要将字符串转换成整数或浮点数字符串必须是数字
# 字符串转整数
num = int("11")
print(type(num),num)
#字符串转浮点数
str_float = float("3.14")
print(type(str_float),str_float)
#浮点数转整数
float_int = int(3.345)# 默认不四舍五入,会丢失精度
print(type(float_int),float_int)
#整数转浮点数
int_float = float(11)
print(type(int_float),int_float)标识符
标识符的命名规则
只允许存在中文(不推荐)、英文、数字(不可以用在开头)、下划线(_)
标识符大小写敏感,不可使用关键字(关键字大小写敏感)
标识符命名规范
尽量做到,看到名字,就知道是什么意思
多个单词组合变量名,要使用下划线进行分割
变量中的英文字母全小写
运算符
算数(数学)运算符
python
print("1 + 1 = ",1 + 1) # 加法运算
print("2 - 1 = ",2 - 1) # 减法运算
print("3 * 3 = ",3 * 3) # 乘法运算
print("4 / 2 = ",4 / 2) # 除法运算
print("11 // 2 = ",11 // 2) # 整除运算(向下取整,无条件往小了取)
print("9 % 2 = ",9 % 2) # 取余运算
print("2 ** 2 = ",2 ** 2) # 次方运算赋值运算符
| 运算符 | 描述 | 实列 |
|---|---|---|
| = | 标准赋值运算符 | 把 = 号右边的结果 赋给 左边的变量, 如 num = 1+2*3,结果num的值为7 |
复合赋值运算符
| 运算符 | 描述 | 实列 |
|---|---|---|
| += | 加法赋值运算符 | 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 |
python
num = 1
num += 1
print("num += 1:",num)
num -= 1
print("num -= 1:",num)
num *= 4
print("num *= 4:",num)
num /= 2
print("num /= 2:",num)
num=3
num %= 2
print("num %= 2:",num)
num **= 2
print("num **= 2:",num)
num = 9
num //= 2
print("num //= 2:",num)字符串
字符串的三种定义方式
python
name = '努力的ff' # 单引号定义法
print(name)
name = "努力的ff" # 双引号定义法
print(name)
name = """努力的ff""" # 三引号定义法
print(name)字符串的引用嵌套
python
print('"') # 单引号定义法,可以内涵双引号
print("'") # 双引号定义法,可以内涵单引号
print("\"") or print('\'') # 可以使用转义字符(\) 来将引号解除效用,变成普通字符串字符串拼接
python
name = "努力的ff"
like = "IT"
tel = 110
print("大家好,我是:" + name + "爱好是" + like) # 利用+来进行字符之间的拼接
print("大家好,我是:" + name + "爱好是" + like + "电话:" + str(tel)) # 无法与整数、浮点数进行拼接,可以用str()来将整数、浮点数转换成字符串类型字符串格式化
%s:%表示要占位,s表示将内容转换成字符串
%d:%表示要占位,d表示将内容转换成整数
%f:%表示要占位,f表示将内容转换成浮点型
python
name = "努力的ff"
class_num = 666
num = 0.2*0.3
doge = "大家好我是:%s" % name
print(doge)
doge = "大家好我是:%s,我是%d班,0.2*0.3=%f" % (name,class_num,num)
print(doge)字符串格式化-数字精度控制
我们可以用辅助符号m.nS来控制数据的宽度和精度
- m,控制宽度,要求是数字(
很少使用),设置的宽度不小于数字自身,不生效.n,控制小数点精度,要求是数字,会进行小数的四舍五入
示例:
%5d:表示将整数的宽度控制在5位,如数字11,被设置为5d,就会变成
[空格][空格][空格]11,用三个空格补足宽度%5.2f:表示宽度控制为5,将小数点精度设置为2,在浮点数格式化中,小数点和小数点部分也算入宽度计算。如,对11.345设置了%7.2f后,结果是:
[空格][空格]11.352个空格补足宽度,小数部分限制2位精度猴,四舍五入为.35
python
a = 11
b = 11.345
print("数字11,宽度限制5,结果是:%5d" % a)
print("数字11,宽度限制不限制,结果是:%d" % a)
print("数字11.345,宽度限制为7,小数精度2,结果是:%7.2f" % b)
print("数字11.345,宽度不限制,小数精度2,结果是:%.2f" % b)字符串格式化方式2
通过语法:f"内容{变量}"的格式来快速格式化,不会理会类型、不会做精度的控制(适合对精度没有要求的时候快速使用)
示例:
python
name = "努力的ff"
age = 17
time = 20.39
print(f"大家好,我是:{name},是一个{age}岁的新手程序员,现在的时间是{time}")字符串格式化-表达式进行格式化
表达式是一个具有明确结果的代码语句,适合不需要变量的时候
python
print("5*6的结果是:%d" % (5*6))
print(f"5*6的结果是:{5 * 6}")
print("字符串在python中的类型名是:%s" % type("字符串"))数据输入(input语句)
input()语句可以从键盘获取输入,使用一个变量接收(存储)input语句接收的数据
示例:
python
name = input("请输入你的名字:")
print(f"你的名字是:{name},你的名字的类型是", type(name))pirnt后面的%号是“嵌入”把变量塞到前面的占位符中不用逗号(,)而type是在后面“拼接”把多个独立内容凑到一起所以得用逗号(,)进行内容的区分ps:这是我在看到type前要用逗号时遇到的疑惑解答
如果都要用的话分情况,可以使用%嵌入也可以用逗号(,)分隔ps:这是后面联想到的疑惑
示例:
python
name = "张三"
# 疑惑一
print(f"你的名字是:{name},你的名字的类型是:", type(name))
# 疑惑二
print("你的名字是:%s,你的名字的类型是:%s" % (name,type(name)))
print("你的名字是:%s" % name,",你的名字的类型是:", type(name))判断语句
布尔类型(bool)
布尔类型是Python中用于逻辑判断的基础类型,核心只有两个值:
- 真值:True (对应整数1)
- 假值:False (对应整数0)
布尔类型的定义
布尔类型不仅可以自定义,同时也可以通过计算得来(使用比较运算符得到布尔类型结果)。
- 赋值布尔值(附演示图)

- 比较运算获取布尔值(附代码示例图)

比较运算符
| 运算符 | 描述 | 示例 |
|---|---|---|
| == | 判断内容是否相等,满足为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或7,b=3,则(a>=b)为True |
| <= | 判断运算符左侧内容是否小于等于右侧满足为True,不满足为False | 如a=3,b=3或7,则(a<=b)为True |
if语句的基本格式
定义:程序中的判断
结构模板
pytnon
# 情况1:单条件判断(只有正确才做)
if 要判断的条件:
条件成立时,要做的事情
# 情况2:双条件选择(二选一)
if 要判断的条件:
条件成立时,要做的事情
else:
条件不成立时,要做的事情
# 情况3:多条件选择(多选一)
if 要判断的条件:
条件成立时,要做的事情
elif 要判断的条件:
条件成立时,要做的事情
else:
上面条件都不成立时,要做的事情关键注意点
缩进: if / elif / else 后面的代码必须缩进(4个空格),否则报错。
执行逻辑:多条件时,只要有一个条件成立,就不会再判断后面的条件
示例:
python
# 单条件判断
age = int(input("请输入您的年龄:"))
if age >= 18:
print("您已成年,游玩需补票10元")
print("祝您游玩愉快")
# 双条件选择
age = int(input("请输入您的年龄:"))
if age >= 18:
print("您已成年,游玩需购票10元")
else:
print("您未成年,可以免费游玩")
print("祝您游玩愉快")
# 多条件选择
age = int(input("请输入您的年龄:"))
if age >= 18:
print("您已成年,游玩需购票10元")
elif age >= 1 :
print("您未成年,可以免费游玩")
else:
print("请输入正确年龄")
print("祝您游玩愉快")
# 完整版,带输入内容检查
try:
age = int(input("请输入您的年龄:"))
if age >= 18:
print("您已成年,游玩需购票10元")
elif age >= 1 :
print("您未成年,可以免费游玩")
else:
print("请输入正确年龄")
print("祝您游玩愉快")
except ValueError:
print("哎呀!请输入正确的整数年龄(比如18、12)!")
# 写的猜数字小项目
import random
srt = random.randint(1,50)
if int(input("请输入第一次猜想的数字:")) == srt:
print("回答正确")
elif int(input("不对,再猜一次:")) == srt:
print("回答正确")
elif int(input("不对,再猜最后一次:")) == srt:
print("回答正确")
else:
print(f"Sorry,全猜错啦,我想的是:{srt}")判断语句的嵌套
定义:在一个if/else语句内部,再包含另一个if/else语句,实现“多条件递进判断”。
结构模板
python
if 条件1:
# 条件1成立时执行
if 条件2:
# 条件1和2都成立时执行
else:
# 条件1成立、条件2不成立时执行
else:
# 条件1不成立时执行示例:
python
if int(input("请输入你的身高:")) > 120:
print("您的身高超过120cm,不可以免费")
print("如果您的vip等级大于3,可以免费")
if(int(input("请输入您的vip等级:"))) > 3:
print("恭喜您vip等级大于3,可以免费")
else:
print("您等vip等级不大于3,不可以免费")
else:
print("恭喜你,可以免费游玩")循环
While循环
条件必须是布尔类型,要有终止条件
python
# while循环
while 循环条件
循环执行语句
# while循环demo
i = 0
while i<100:
print("你好")
i += 1while循环嵌套
pytho
# 输出九九乘法表
i = 1
while i <= 9:
j = 1
while j <= i:
print(f"{j}x{i}={j*i}",end="\t")
j += 1
print()
i += 1for循环
for循环是一种“轮询”机制,是对一批内容进行“逐个处理”
python
# for循环
for 临时变量 in 待处理数据集: #for循环无法自定义循环条件
满足循环条件时执行的代码
# for循环demo
name = "努力的ff"
for x in name:
print(x,end="")range语句
语法1:
range(num)
获取一个从0开始,到num结束的数字序列(不包含num本身)
如range(5)取得的数据是:[0,1,2,3,4]
语法2:
range(num1,num2)
获取一个从num1开始,到num2结束的数字序列(不包含num2本身)
如range(5,10)取得的数据是:[5,6,7,8,9]
语法3:
range(num1,num2,step)
获取一个从num1开始,到num2结束的数字序列(不包含num2本身)
数字之间的步长,以step为准(step默认为1)
如,range(5,10,2)取得的数据是:[5,7,9]
for循环嵌套
pyt
for i in range(1, 10):
for j in range(1, i + 1):
print(f"{j}*{i}={j*i}",end="\t")
print()循环中的关键字
- continue关键字:用于中断本次循环,直接进入下一次循环。(for循环while循环效果一样)
- break关键字:直接结束循环(for循环while循环效果一样)