# Python 中的保留字
False | True | None | and |
assert | break | class | continue |
del | elif | else | except |
from | global | if | import |
is | lambda | nonlocal | not |
pass | raise | return | try |
with | yield | for | as |
def | finally | in | or |
while |
# 数据类型
类型 | 描述 | 说明 |
---|---|---|
Number (数字) | int (整数) | 如:10、-10 |
Number (数字) | float (浮点数) | 如:13.14、-13.14 |
Number (数字) | complex (复数) | 如:4+3j, 以 j 结尾表示复数 |
Number (数字) | bool (布尔) | True 为真,False 为假,True 本质上是一个数字记作 1,False 记作 0 |
String (字符串) | 描述文本的一种数据类型 | 字符串由任意数量的字符组成 |
List (列表) | 有序的可变序列 | Python 中使用最频繁的数据类型,可有序记录一堆数据 |
Tuple (元组) | 有序的不可变序列 | 可有序记录一堆不可变的 Python 数据集合 |
Set (集合) | 无序不重复集合 | 可无序记录一堆不重复的 Python 数据集合 |
Dictionary (字典) | 无序 Key-Value 集合 | 可无序记录一堆 Key-Value 型的 Python 数据集合 |
# 常用函数
函数方法 | 描述 |
---|---|
type() | 查看数据类型 |
int() | 转换为一个整数 |
float() | 转换为一个浮点数 |
str() | 将对象转换为字符串 |
input() | 获取键盘输入 |
range() | 点击查看使用方法 |
len() | 长度统计 |
# 运算符
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 | 两个对象相加 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 |
= | 赋值运算符 | 把 = 号右边的结果赋给左边的变量,如 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 |
print(f"1 + 1 = {1 + 1}") # 2 | |
print(f"2 - 1 = {2 - 1}") # 1 | |
print(f"3 * 3 = {3 * 3}") # 9 | |
print(f"4 / 2 = {4 / 2}") # 2.0 | |
print(f"11 // 2 = {11 // 2}") # 5 | |
print(f"9 % 2 = {9 % 2}") # 1 | |
print(f"10 ** 10 = {10 ** 10}") # 10000000000 |
# 字符串格式化
# 方式一 | |
name = "黑马程序员" | |
message = "学IT来:%s" % name | |
print(message) | |
# 方式二 | |
name = "黑马程序员" | |
message = f"学IT来:{name}" | |
print(message) | |
# 学 IT 来:黑马程序员 |
格式符号 | 转化 |
---|---|
%s | 将内容转换成字符串,放入占位位置 |
%d | 将内容转换成整数,放入占位位置 |
%f | 将内容转换成浮点数,放入占位位置 |
name = "传智博客" | |
setup_year = 2006 | |
stock_price = 19.99 | |
message = "%s,成立于:%d,我今天的股价是:%f" % (name, setup_year, stock_price) | |
print(message) | |
# 传智博客,成立于:2006, 我今天的股价是:19.990000 |
# 格式化数字的精度控制
- 我们可以使用辅助符号
m.n
来控制数据的看度和精度。m
控制宽度,要求是数字 (很少使用), 设置的看度小于数字自身,不生效。.n
控制小数点精度,要求是数字,会进行小数的四舍五入。
- 例如:
%5d
: 表示将整数的宽度控制在 5 位,如数字 11, 被设置为 5d, 机会变成:【空格】【空格】【空格】11, 用三个空格补足宽度。%5.2f
: 表示将宽度控制为 5, 将小数点精度设置为 2。
- 小数点和小数部分也算入宽度计算,如:对 11.345 设置了 %7.2f 后,结果是:【空格】【空格】11.35,2 个空格补足宽度,小数部分限制 2 位精度后,四舍五入为.35
num1 = 11 | |
num2 = 11.345 | |
print("数字11宽度限制5,结果是:%5d" % num1) | |
print("数字11宽度限制1,结果是:%1d" % num1) | |
print("数字11.345宽度限制7,小数精度2,结果是:%7.2f" % num2) | |
print("数字11.345不限制,小数精度2,结果是:%.2f" % num2) | |
# 数字 11 宽度限制 5,结果是: 11 | |
# 数字 11 宽度限制 1,结果是:11 | |
# 数字 11.345 宽度限制 7,小数精度 2,结果是: 11.35 | |
# 数字 11.345 不限制,小数精度 2,结果是:11.35 |
# 快速格式化
# 名称 | |
name = "传智播客" | |
# 股票价格 | |
stock_price = 19.99 | |
# 股票代码 | |
stock_code = "003032" | |
# 股票价格每日增长因子 | |
stock_price_daily_growth_factor = 1.2 | |
# 增长天数 | |
growth_days = 7 | |
# 连续增长 7 天的股价计算 | |
finally_stick_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_stick_price)) | |
# 公司:传智播客,股票代码:003032, 当前股价:19.99 | |
# 每日增长系数是:1.2, 经过 7 天的增长后,股价达到了:71.63 |
# if 基本格式
# if else 格式 | |
age = 20 | |
if age >= 10: | |
print("大于") | |
else: | |
print("小于") | |
# if elif else 格式 | |
if age > 10: | |
print("大于") | |
elif guess_num == 20: | |
print("大于") | |
else: | |
print("小于") |
# 猜数字游戏案例
import random | |
num = random.randint(1, 10) | |
guess_num = int(input("输入你要猜的数字:")) | |
if guess_num > num: | |
print("输入的过大") | |
elif guess_num < num: | |
print("输入的过小") | |
elif guess_num == num: | |
print("输入正确") | |
guess_num1 = int(input("输入你要猜的数字:")) | |
if guess_num1 > num: | |
print("输入的过大") | |
elif guess_num1 < num: | |
print("输入的过小") | |
elif guess_num1 == num: | |
print("输入正确") | |
guess_num2 = int(input("输入你要猜的数字:")) | |
if guess_num2 > num: | |
print("输入的过大") | |
elif guess_num2 < num: | |
print("输入的过小") | |
elif guess_num2 == num: | |
print("输入正确") |
# while 循环基本格式
num = 1 | |
sum = 0 | |
while num <= 100: | |
num += 1 | |
sum += num | |
print("1 - 100的和:", sum) | |
# 1 - 100 的和: 5150 |
# for 循环基本格式
# for 临时变量 in 被统计的数据: | |
# 统计下面字符串中有多少个字母 a | |
name = "itheima is a brand of itcast" | |
count = 0 | |
for x in name: | |
if x == 'a': | |
count += 1 | |
print(f"被统计的字符串中有{count}个a") |
""" | |
求偶数 | |
""" | |
num = 1 | |
ou_shu = 0 | |
for x in range(num, 100): | |
if x % 2 == 0: | |
ou_shu += 1 | |
print(f"有{ou_shu}个偶数") | |
# 有 49 个偶数 |
# range 语句的基本使用
""" | |
演示Python中的range()语句的基本使用 | |
""" | |
# range 语法 1 range (name) | |
# 从 0 开始不包含 10 | |
for x in range(10): | |
print(x, end=' ') | |
print() | |
# range 语法 2 range (num1,num2) | |
for x in range(5, 10): | |
# 从 5 开始到 10 结束 (不包含 10 本身) 的一个数字序列,数字之间的间隔是 1 | |
print(x, end=' ') | |
print() | |
# range 语法 3 range (num1,num2,step) | |
for x in range(5, 10, 2): | |
# 从 5 开始到 10 结束 (不包含 10 本身) 的一个数字序列,数字之间的间隔是 2 | |
print(x, end=' ') | |
print() | |
# end 表示不换行 | |
# 0 1 2 3 4 5 6 7 8 9 | |
# 5 6 7 8 9 | |
# 5 7 9 |
# 99 乘法表案例
i = 1 | |
while i <= 9: | |
j = 1 | |
while j <= i: | |
print(f"{j}*{i}={j * i}\t", end='') | |
j += 1 | |
i += 1 | |
print() | |
# 1*1=1 | |
# 1*2=2 2*2=4 | |
# 1*3=3 2*3=6 3*3=9 | |
# 1*4=4 2*4=8 3*4=12 4*4=16 | |
# 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 | |
# 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 | |
# 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 | |
# 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 | |
# 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 |
for x in range(1, 10): | |
for c in range(1, x+1): | |
print(f"{c}*{x}={c * x}\t", end='') | |
print() | |
# 1*1=1 | |
# 1*2=2 2*2=4 | |
# 1*3=3 2*3=6 3*3=9 | |
# 1*4=4 2*4=8 3*4=12 4*4=16 | |
# 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 | |
# 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 | |
# 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 | |
# 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 | |
# 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 |