字面量
1、说明
—— 在代码中,被写下来的固定的值,称之为字面量
2、字面量类型 ( 常见6种 )
-
数字 Number : 整数int (10 / -10 / 0)、浮点数float (13.14 / -13.14)、复数complex (4+3j, 以 j 结尾) 、布尔bool (True 1 / False 0)
-
字符串 String : 描述文本的一种数据类型 ( 任意数量的字符组成 )
-
列表 List : 有序的可变序列 ( 使用最频繁的数据类型,可有序记录一堆数据 )
-
元祖 Tuple : 有序的不可变序列 ( 可有序记录一堆不可变的 Python 数据集合 )
-
集合 Set : 无序不重复集合 ( 可有无序记录一堆不重复的 Python 数据集合 )
-
字典 Dictionary : 无序key-value集合 ( 可有无序记录一堆 key-value 的 Python 数据集合 )
3、示例代码
666
13.14
"zhuzi"
print(666)
print(13.14)
print("zhuzi")
注释
1、单行注释
以 “#” 开头,右边所有文字当作说明
# 输出一段文本
print("hello 单行注释 !")
2、多行注释
以一对 “三个双引号” 引起来解释说明一段代码的作用使用方法
"""
代码含义:
输出一段内容
"""
print("hello 多行注释 !")
( 注—— .py文件开始位置需配置:# coding=utf-8
)
变量
1、说明
—— 在程序运行时,能存储计算结果或能表示值的抽象概念。( 简单的说,变量就是在程序运行时,记录数据用的 )
2、变量的定义格式
变量名称 = 变量的值
money = 50
print("钱包余额:", money)
money = money - 10
print("钱包余额:", money, "共花费了10元")
3、变量的特征
变量的值可以改变
数据类型
1、type() 语句获取数据类型
-
方式1:使用print直接查看类型信息
print(type(10)) print(type(13.14)) print(type("zhuzi"))
-
方式2:使用变量存储type()语句结果
int_type = type(-10) float_type = type(-13.14) string_type = type("36988") print(int_type) print(float_type) print(string_type)
-
方式3:使用type()语句,查看变量中存储的数据类型信息
name = "qyy" name_type = type(name) print(name_type)
2、变量无类型
变量存储的数据有类型 ( 例如,字符串变量表示变量存储了字符串,而非变量就是字符串 )
3、数据类型转换
-
数字转字符串
num_str = str(11) print(type(num_str), num_str) float_str = str(11.22) print(type(float_str), float_str)
-
字符串转数字
str_int = int("123") print(type(str_int), str_int) str_float = float("22.44") print(type(str_float), str_float) # 错误示例:想要字符串转数字,字符串内容必须都是数字 # str_int = int("qyy") # print(type(str_int), str_int)
-
整数转浮点数
int_float = float(66) print(type(int_float), int_float)
-
浮点数转整数 ( 会丢失精度即小数部分 )
float_int = int(66.88) print(type(float_int), float_int)
标识符
1、说明
—— 用户在编程时所使用的一系列名字,用于变量、类、方法等命名
2、命名规则 ( 内容限定、大小写敏感、不可使用关键字 )
- 命名中只允许出现英文、中文、数字、下划线 _ 、这四类元素,其余任何内容都不被允许
- 不推荐使用中文
- 数字不可以开头
- 大小写敏感
- 不可使用关键字 ( False / True / None / and / as / assert / break / class / continue / def / del / elif / else / except / finally / for / from / global / if / import / in / is / lambda / nonlocal / not / or / pass / raise / return / try / while / with / yield )
3、示例代码
-
规则1:内容限定,限定只能使用英文、中文、数字、下划线_,注意:不能以为数字开头
# 1_name = "qyy" # name_& = "qyy" name_ = "qyy" _name = "qyy" name_666 = "qyy"
-
规则2:大小写敏感
my_name = "qyy" My_Name = "zhuzi" print(my_name) print(My_Name)
-
规则3:不可使用关键字
# class = 1 Class = 1 # False = 2 false = 2
4、变量的命名规范
—— 见名知意、下划线命名法、英文字母全小写
# 不遵守规则 ( 强制 ):会出问题
# 不遵守规范 ( 建议 ):不太高级
运算符
1、算数运算符:+ 、- 、* 、/ 、// 、% 、
- 加 + :a + b
- 减 - : a - b
- 乘 * :a * b
- 除 / :a / b
- 取整除 // :a // b ,返回商的整数部分:9 // 2 = 4,9.0 // 2.0 = 4.0
- 取余 % : a % b ,返回除数的余数:6 % 4 = 2
- 指数 ** :a ** b ,a 的 b 次方:10 ** 3 = 1000
# 示例代码
# -----------------------------------------------------------------
print("1 + 1 =", 1 + 1)
# -----------------------------------------------------------------
print("2 - 1 =", 2 - 1)
# -----------------------------------------------------------------
print("3 * 4 =", 3 * 4)
# -----------------------------------------------------------------
print("4 / 2 =", 4 / 2)
# -----------------------------------------------------------------
print("5 // 3 =", 5 // 3)
# -----------------------------------------------------------------
print("6 % 4 =", 6 % 4)
# -----------------------------------------------------------------
print("7 ** 2 =", 7 ** 2)
2、赋值运算符: ”=“
3、复合赋值运算符:+= 、-= 、 *= 、/= 、//= 、%=、**=
# 示例代码
num = 1 + 2 + 3
print(num)
num = 1
# -----------------------------------------------------------------
num += 1
print("num += 1 : ", num)
# -----------------------------------------------------------------
num -= 1
print("num -= 1 : ", num)
# -----------------------------------------------------------------
num *= 36
print("num *= 36 : ", num)
# -----------------------------------------------------------------
num /= 2
print("num /= 2 : ", num)
# -----------------------------------------------------------------
num //= 5
print("num //= 5 : ", num)
# -----------------------------------------------------------------
num %= 2
print("num %= 2 : ", num)
# -----------------------------------------------------------------
num **= 3
print("num **= 3 : ", num)
字符串
1、三种定义方式
-
单引号定义法
name = 'qyy' print(type(name))
-
双引号定义法
name = "qyy" print(type(name))
-
三引号定义法 ( 不使用变量接收它,就可以作为多行注释使用 )
name = """qyy""" print(type(name))
2、引号嵌套
-
双引号包含单引号
name = "'qyy'" # 双引号包含单引号 print(name)
-
单引号包含双引号
name = '"qyy"' # 单引号包含双引号 print(name)
-
使用“\”进行转义
name = "\"qyy\"" print(name) name = "\'qyy\'" print(name)
3、字符串拼接: ”+“
—— 缺点:变量过多,拼接起来太麻烦;字符串无法和其它类型完成拼接
-
字面量拼接字面量
print("我的名字是 " + "竹子")
-
字面量拼接变量
name = "竹子" print("我的名字是 " + name)
-
无法直接和非字符串类型拼接
# tel = 15961883579 # print("我的电话是 " + tel)
4、字符串格式化
-
方式1:”%“
# %s name = "zhuzi" age = 25 print("我的名字是 %s" % name) print("我的名字是 %s,我今年%s岁了" % (name, age)) # %d year = 2023 month = 5 day = 20 print("今天是%d年%d月%d日" % (year, month, day)) # %f money = 20.82 print("今日花费%f元" % money)
-
格式化的精度控制 (m.n 控制数据的宽度和精度)
# m:控制宽度,要求数字,很少使用,设置的宽度若小于数字自身--不生效 # .n:控制小数点精度,要求数字,会进行小数的四舍五入 money = 2.3478 print("%4d" % money) # 先去小数--取2,不足4位,前补3个空格 print("%7.2f" % money) # 先取2位小数四舍五入--取2.35,共4位,不足7位,前补3个空格 print("%.1f" % money) # 取1位小数四舍五入--取2.3,不限制宽度
-
-
方式2:f"内容{变量}"
—— 特点:不理会类型,不做精度控制,适合对精度没有限制的时候快速格式化
year = 2023 month = 5 day = 20 money = 9999.88 print(f"今天是{year}年{month}月{day}日,收入{money}")
5、表达式的格式化
—— 表达式:一条具有明确执行结果的代码语句,等号的右边都是表达式,有具体的结果
-
在无需使用变量进行数据存储时,可以直接格式化表达式,简化代码
print("1 * 1 = %d" % (1 * 1)) print(f"1 * 2 = {1 * 2}") print("'zhuzi'的数据类型是%s" % type('zhuzi'))
6、练习代码
name = "X公司"
stock_price = 19.99
stock_code = "043052"
growth_factor = 1.2
growth_day = 7
print(f"公司:{name},股票代码:{stock_code},当前股价:{stock_price}")
print("每日增长系数是%.1f,经过%d天的增长后,股价达到了%.2f" % (growth_factor, growth_day, stock_price * growth_factor ** growth_day))
数据输入
1、input() 语句获取键盘输入的数据
# 数据输出:print
# 数据输入:input
-
方式1:直接调用
print("请输入你的名字:") name = input() print("你的名字:%s" % name)
-
方式2:input(“提示信息”)
name = input("请输入你的名字:") print("你的名字:%s" % name)
2、输入类型 (无论输入什么类型的数据,从键盘获取的数据永远是字符串类型)
num = input("请输入你的年龄:")
print("类型:", type(num))
print("你的年龄:%s" % num)
num = int(num) # 将字符串类型转换为int类型
print("类型:", type(num))
print("你的年龄:%d" % num)
if-elif-else
1、练习案例 :《 猜数字 》
# 获取随机数
import random
num = random.randint(0, 10)
# 第一次获取猜测数字
guess_num = int(input("请输入第一次猜测数字:"))
if guess_num == num:
print("恭喜你第一次就猜中了!")
else:
if guess_num > num:
print("你猜的数字大了!")
else:
print("你猜的数字小了!")
# 第二次获取猜测数字
guess_num = int(input("请输入第二次猜测数字:"))
if guess_num == num:
print("恭喜你第二次猜中了!")
else:
if guess_num > num:
print("你猜的数字大了!")
else:
print("你猜的数字小了!")
# 第三次获取猜测数字
guess_num = int(input("请输入第三次猜测数字:"))
if guess_num == num:
print("恭喜你第三次终于猜中了!")
else:
print("三次机会已用尽,再来一次吧!")
while
1、练习案例 :《 1+…+100 = ? 》
i = 0
total = 0
while i <= 100:
total += i
i += 1
print("1+...+100 =", total)
2、练习案例 :《 猜数字 》
# 获取随机数
num = random.randint(0, 20)
count = 0
flag = True
while flag:
guess_num = int(input("请输入猜测数字:"))
count += 1
if guess_num == num:
print("恭喜你猜中了!")
flag = False
else:
if guess_num > num:
print("猜大了!")
else:
print("猜小了!")
print("你总共使用了%d次机会!" % count)
print(f"你总共使用了{count}次机会!")
3、练习案例 :《 表白100天,每天10支玫瑰花 ( 嵌套循环 ) 》
i = 1
while i <= 100:
print(f"第{i}天,准备表白...")
j = 1
while j <= 10:
print(f"送出第{j}朵玫瑰花")
j += 1
print("......表白结束")
i += 1
print("100天坚持表白,已成功!")
4、练习案例 :《 打印99乘法表 》
i = 1
while i <= 9:
j = 1
while j <= i:
print(f"{j}*{i}={j * i}", end="\t")
j += 1
print()
i += 1
# ------------------------------ 代码说明 ------------------------------
# 打印不换行
print("hello ", end="")
# 制表符格式对齐
print("hello \t world")
print("hello world")
for
1、练习案例 :《 遍历字符串 》
name = "zhuzi"
for c in name:
print(c, end=",")
print()
2、练习案例 :《 统计字符个数 》
testStr = "fwfre regwsfwew fgereweww"
key = "w"
count = 0
for c in testStr:
if key == c:
count += 1
print(f"字符串'{testStr}'中一共有:{count}个'{key}'")
3、练习案例 :《 表白100天,每天10支玫瑰花 ( 嵌套循环 ) 》
for i in range(1, 101):
print(f"第{i}天,准备表白...")
for j in range(1, 11):
print(f"送出第{j}朵玫瑰花")
print("......表白结束")
print("100天坚持表白,已成功!")
# ------------------------------ 代码说明 ------------------------------
# range()使用获取一个简单的数字序列
# 0,1,2,3,4,5,6,7,8,9
for num in range(10):
print(num, end=",")
print()
# 4,5,6,7,8,9
for num in range(4, 10):
print(num, end=",")
print()
# 4,6,8
for num in range(4, 10, 2):
print(num, end=",")
print()
4、练习案例 :《 打印99乘法表 》
for i in range(1, 10):
for j in range(1, i + 1):
print(f"{j}*{i}={j * i}", end="\t")
print()