Python 学习笔记(01)

Python 学习笔记

一、python 基础知识

1.1、Python 语句的缩进

Python代码块使用缩进对齐表示代码逻辑,而不是使用大括号。

# 这是注释,Python的注释使用'#'表示
print("Hello,World!")  # 打印

关于缩进的用法如下:

# IF 语句示例
a = input("请输入第一个数:");
b = input("请输入第二个数:");
if a > b:
    print('a > b')
else:
    print('a < b')

image-20251209221844210

1.2、Python 的多行语句

# python 允许用户多行输入(不保留输入格式,保留空格)
print("多      " \
"少" \
        "人")

image-20251209222602817

1.3、Python 引号

Python 中 引号 用于表示字符串,分类有 单引号、双引号、三引号

单引号、双引号都能用于字符串表示(没有区别);

三引号 表示的字符串可以保留格式输出。

print('''多
                    少
     人''')

image-20251209222933050

2.1、变量

用标识符命名的存储单元的地址叫做变量,也叫内存变量。

Python 中的变量不需要声明,可以直接使用赋值运算符对其进行赋值运算,并根据所赋的值决定数据类型。

# 定义一个整型变量
result = 10;
name = "Peter"

注意:Python通过换行符来识别不同的语句,使得分号并非必需,但在某些情况下,使用分号可以使代码更紧凑或提高可读性。(这里变量统一使用分号结尾)

2.2、数据类型

(1)基本数据类型
  • 数字类型

    • int(整型):整数,如 10, -5, 0

    • float(浮点型):浮点数,如 3.14, -0.5, 1e3

    • complex(复数):复数,如 3+4j, 1-2j

  • 字符串类型

    • str:文本序列,如 "Hello", 'Python', """多行字符串"""
  • 布尔类型

    • bool:逻辑值,只有 TrueFalse 两个值
(2)复合数据类型
  • 列表(list)

    • 有序、可变、可重复

    • 使用方括号 [] 表示

    • 示例:[1, 2, 3, "hello"]

    • 特点:支持索引、切片、修改、删除等操作

  • 元组(tuple)

    • 有序、不可变、可重复

    • 使用圆括号 () 表示

    • 示例:(1, 2, 3, "world")

    • 特点:一旦创建就不能修改

  • 字典(dict)

    • 无序、键值对结构、键必须不可变、值可变

    • 使用花括号 {} 表示

    • 示例:{"name": "Python", "version": 3.9}

    • 特点:通过键快速访问值

  • 集合(set)

    • 无序、不可重复、可变

    • 使用花括号 {}set() 函数创建

    • 示例:{1, 2, 3, "apple"}

    • 特点:适合去重和集合运算

2.3、Python 数据类型转换

num_int = 123
num_flo = 1.23

num_new = num_int + num_flo

print("num_int 数据类型为:",type(num_int))
print("num_flo 数据类型为:",type(num_flo))

print("num_new 值为:",num_new)
print("num_new 数据类型为:",type(num_new))

image-20251209230544190

image-20251209230414407

2.4、赋值、比较、逻辑运算

  • 赋值运算
# 乘方
print(2**10) # 结果为 1024,2的10次方
  • 比较运算
# <     严格小于
# >		严格大于
# <=	小于或等于
# >=	大于或等于
# ==	等于
# !=	不等于

a = 5 == 5
print(a)			# False
b = "yes" == "yes"
print(b)			# True
  • 逻辑运算

逻辑运算符包括 and、or、not ,分别表示逻辑与、逻辑或、逻辑非,运算的结果是布尔值 True、False

运算符说明
or有一个是真就是真(短路情况:第一个是False,第二个才会参评,否则略过)
and两个都是真才是真(短路情况:第一个是Ture,第二个才会参评,否则略过)
not真就是假,假就是真(没有短路情况)

2.5、位运算符

python规则_Python-位运算符规则、原理与用法-优快云博客

二、Python 字符串输入/输出

1.1、字符串输出:print() 函数详解

# 1. 输出单个字符串(单引号、双引号、三引号都可以,效果一致)
# 单引号适合字符串中包含双引号的场景
print('Hello, Python!')  # 输出:Hello, Python!

# 双引号适合字符串中包含单引号的场景
print("I'm a beginner.")  # 输出:I'm a beginner.

# 三引号适合多行字符串输出
print('''这是第一行字符串
这是第二行字符串
这是第三行字符串''')
# 输出结果:
# 这是第一行字符串
# 这是第二行字符串
# 这是第三行字符串

1.2、输入多个内容

# 用逗号分隔多个输出项,print 会自动用空格连接它们
name = "小明"  # 定义一个字符串变量
age = 18       # 定义一个数字变量(print 会自动转换为字符串)
print("姓名:", name, "年龄:", age)  # 输出:姓名: 小明 年龄: 18

# 逗号分隔不同类型的变量都可以(字符串、数字、布尔值等)
is_student = True
print("是否是学生:", is_student)  # 输出:是否是学生: True

1.3、格式化输出

# f-string 格式化输出(最常用)
# 语法:在字符串前加 f,变量用 { } 包裹,直接嵌入字符串中
name = "小红"
score = 95.5
print(f"姓名:{name},数学成绩:{score}分")  # 输出:姓名:小红,数学成绩:95.5分

# 可以在 { } 中进行简单计算
num1 = 10
num2 = 20
print(f"{num1} + {num2} = {num1 + num2}")  # 输出:10 + 20 = 30

# 控制数字格式(比如保留2位小数)
pi = 3.1415926
print(f"圆周率(保留2位小数):{pi:.2f}")  # 输出:圆周率(保留2位小数):3.14
print(f"圆周率(保留4位小数):{pi:.4f}")  # 输出:圆周率(保留4位小数):3.1416

# 传统格式化方式(了解即可,不如 f-string 简洁)
# %s 表示字符串占位符,%d 表示整数,%f 表示浮点数
print("姓名:%s,年龄:%d" % (name, age))  # 输出:姓名:小红,年龄:18
print("圆周率:%.2f" % pi)  # 输出:圆周率:3.14

1.4、控制 print 的换行行为

默认情况下,print() 会在输出后自动换行,可通过 end 参数修改。

# 不换行,用空格结尾(默认 end='\n' 表示换行)
print("第一列", end=' ')
print("第二列", end=' ')
print("第三列")
# 输出:第一列 第二列 第三列

# 用其他字符作为结尾
print("a", end=',')
print("b", end=',')
print("c")
# 输出:a,b,c

# 不输出任何结尾(连空格都没有)
print("Hello", end='')
print("World")
# 输出:HelloWorld

2.1、字符串输入:input() 函数详解

input() 函数用于获取用户从键盘输入的内容,无论用户输入什么,都会被当作字符串处理

# 简单获取输入(控制台会等待用户输入,按回车结束)
user_input = input()  # 运行后,在控制台输入内容,比如:"Python 真有趣"

# 输出用户输入的内容(type() 函数用于查看变量类型)
print("你输入的是:", user_input) # 逗号变成空格
print("输入内容的类型:", type(user_input))  # 输出:<class 'str'>(字符串类型)

2.2、带提示信息的输入

input() 中传入字符串参数,作为提示信息,让用户知道该输入什么。

# 带提示的输入,用户体验更好
name = input("请输入你的姓名:")  # 控制台显示:请输入你的姓名:
age = input("请输入你的年龄:")   # 控制台显示:请输入你的年龄:

# 输出结果
print(f"你好,{name}!你输入的年龄是 {age}")

# 注意:即使输入数字,age 也是字符串类型
print("年龄的类型:", type(age))  # 输出:<class 'str'>

2.3、输入内容的类型转换

# 转换为整数(int())
# 场景:计算两个数字的和
num1 = input("请输入第一个整数:")
num2 = input("请输入第二个整数:")

# 直接相加会是字符串拼接(错误示例)
print("错误示例(字符串拼接):", num1 + num2)  # 比如输入 10 和 20,输出:1020

# 转换为整数后再相加(正确做法)
num1_int = int(num1)  # 把字符串转换为整数
num2_int = int(num2)
print("正确示例(整数相加):", num1_int + num2_int)  # 输入 10 和 20,输出:30

# 转换为浮点数(float())
# 场景:计算小数的乘积
height = float(input("请输入你的身高(米):"))  # 直接在输入时转换
weight = float(input("请输入你的体重(千克):"))

bmi = weight / (height ** 2)  # BMI 计算公式:体重 / 身高的平方
print(f"你的 BMI 指数是:{bmi:.2f}")

# 异常处理(可选,避免用户输入错误格式崩溃)
# 如果用户输入非数字,转换会报错,用 try-except 捕获错误
try:
    score = float(input("请输入你的分数:"))
    print(f"你的分数是:{score}")
except ValueError:
    print("输入错误!请输入数字类型的分数。")

2.4、多行输入,获取多个内容

通过循环或多次调用 input(),可以获取用户的多行输入。

# 获取多行输入(比如收集3个同学的姓名)
students = []  # 用列表存储多个姓名
for i in range(3):  # 循环3次
    name = input(f"请输入第 {i+1} 个同学的姓名:")
    students.append(name)  # 把输入的姓名添加到列表中

# 输出所有同学的姓名
print("收集到的同学姓名:", students)  # 输出:收集到的同学姓名:['小明', '小红', '小刚'](取决于输入)

3.1、综合案例1: 个人信息收集与展示

# 综合案例1:收集用户信息并格式化输出
print("=" * 30)  # 输出分隔线
print("        个人信息收集工具")
print("=" * 30)

# 收集用户输入(带提示+类型转换)
name = input("1. 请输入你的姓名:")
age = int(input("2. 请输入你的年龄:"))
height = float(input("3. 请输入你的身高(cm):"))
hobby = input("4. 请输入你的爱好:")

# 格式化输出结果
print("\n" + "=" * 30)
print("        你的个人信息如下")
print("=" * 30)
print(f"姓名:{name}")
print(f"年龄:{age} 岁")
print(f"身高:{height} cm(即 {height/100:.2f} 米)")  # 单位转换
print(f"爱好:{hobby}")
print(f"一句话介绍:{name}{age}岁,喜欢{hobby},身高{height}cm~")

3.2、综合案例2:简单计算器(输入两个数字,选择运算)

# 综合案例2:简单字符串输入+计算
print("=" * 30)
print("        简易计算器(仅支持加减乘除)")
print("=" * 30)

# 步骤1:获取用户输入并转换类型
try:
    num1 = float(input("请输入第一个数字:"))
    num2 = float(input("请输入第二个数字:"))
    operator = input("请输入运算符号(+、-、*、/):")

    # 步骤2:根据运算符号计算结果
    if operator == "+":
        result = num1 + num2
        print(f"\n结果:{num1} + {num2} = {result}")
    elif operator == "-":
        result = num1 - num2
        print(f"\n结果:{num1} - {num2} = {result}")
    elif operator == "*":
        result = num1 * num2
        print(f"\n结果:{num1} * {num2} = {result}")
    elif operator == "/":
        if num2 == 0:
            print("\n错误:除数不能为0!")
        else:
            result = num1 / num2
            print(f"\n结果:{num1} / {num2} = {result:.2f}")  # 保留2位小数
    else:
        print("\n错误:运算符号输入错误!请输入 +、-、*、/ 中的一个")
except ValueError:
    print("\n错误:请输入有效的数字!")

4、简单做个总结

  1. 输出

    • print() 可输出单个/多个内容(逗号分隔)
    • f-string 是格式化输出的首选(f"变量:{变量名}"
    • end 参数控制输出结尾(默认换行 \n
  2. 输入

    • input("提示信息") 获取用户输入,返回字符串
    • 输入数字必须用 int()/float() 转换类型
    • try-except 捕获输入格式错误(提升程序稳定性)
  3. 常见误区

    • 忘记转换输入的数字类型,导致字符串拼接而非计算
    • 三引号字符串的换行是自动的,无需手动加 \n
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值