Python训练打卡 Day1

#变量和输出函数

1.变量的命名和定义

 在Python里,变量命名需要遵循以下规则:

  • 变量名只能包含字母、数字和下划线( _ )。
  • 变量名不能以数字开头。
  • 变量名不能是Python的关键字(像 if 、 else 、 for 等)。
  • 变量名区分大小写, myVar 和 myvar 是不同的变量。

常见的命名方法:蛇形命名法和驼峰命名法。

  • 蛇形命名法:采用小写字母,单词之间用下划线分隔,例如 my_variable。
  • 驼峰命名法:每个单词的首字母都大写,其余字母小写。常用于类名。

在Python中,定义变量很简单,只需给变量赋值即可,无需提前声明变量类型。

2.debug工具的使用

debug的核心就是设置断点,然后进行调试。

断点:断点是在代码中设置的特定位置,当程序执行到该位置时会暂停运行,这样你就可以查看程序在这一时刻的状态,比如变量的值、程序的执行流程等。

3.print函数

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
  • *objects :这是一个可变参数,表示可以传入任意数量的对象,这些对象会按顺序输出。对象之间会用 sep 参数指定的分隔符隔开。
  • sep :分隔符参数,用于指定多个对象之间的分隔符号,默认值是一个空格 ' ' 。
  • end :结束符参数,指定输出内容末尾的字符,默认值是换行符 '\n' ,也就是输出完内容后会自动换行。
  •  file :指定输出的目标文件对象,默认是 sys.stdout ,即标准输出设备(控制台)。你也能将输出重定向到文件。
  • flush :布尔值参数,指定是否立即刷新输出缓冲区,默认值是 False 。

【例题1】定义三个变量 a, b, c,并分别将整数 1, 2, 3 赋值给它们。然后,使用 print() 函数将每个变量的值单独打印出来,每个值占一行。

a=1
b=2
c=3
print(a)
print(b)
print(c)

#使用一个print函数
print(a,'\n',b,'\n',c)
#但是此时输出结果并没有对齐
#1
# 1
# 1

print(f"{a}\n{b}\n{c}")
#使用f-string 结合换行符可以解决这一问题

print(a,b,c,sep='\n')

#格式化字符串

f-string(一种字符串格式化方法)

基本语法:在字符串前加上 f 或 F 前缀,然后在字符串里使用花括号 {} 来包含要插入的变量或表达式。

【例子】

name = "小明"
city = "北京"
print(f"我的名字是{name},我住在{city}。")
#输出结果为 我的名字是小明,我住在北京。
  • 思考:如果想在输出的姓名两边加上引号,例如 姓名: "小明", 城市: 北京,f-string 语句应该怎么写?只用一个 print() 和 f-string,如何让姓名和城市分两行输出?

在 f-string 语法里,若内部输出内容包含双引号,有以下几种处理方式:

  • 使用单引号包裹 f-string(最为常用)
name = "小明"
city = "北京"
print(f'姓名: "{name}", 城市: {city}')
  •  使用转义字符
print(f"姓名: \"{name}\", 城市: {city}")
    print(f'姓名: "{name}"\n城市: {city}')
    #输出结果为:
    #姓名:小明
    #城市:北京

    # 变量的基础运算

    在 Python 里,变量的基础运算主要涵盖算术运算、比较运算、逻辑运算、赋值运算等。本节主要介绍算术运算。算术运算用于数值类型的变量,像整数、浮点数等

    a = 5
    b = 3
    print(a + b)  # 输出 8
    print(a - b)  # 输出 2
    print(a * b)  # 输出 15
    print(a / b)  # 输出约 1.67
    print(a // b) # 输出 1 (整除取整数部分)
    print(a % b)  # 输出 2
    print(a ** b) # 输出 125 (幂运算)

    【习题1】 定义两个整数变量,num1 赋值为 20,num2 赋值为 8。计算这两个变量的和,并将结果存储在一个新的变量 a 中;计算这两个变量的商,叫做b;计算这两个变量的余数,叫做c。然后,使用 f-string 打印出类似 “20 加 8 的结果是:28” 的信息,分成三行打印。

    【习题2】定义两个浮点数变量,price 赋值为 19.9,discount 赋值为 0.8 (表示 8 折)。计算折扣后的价格,并将结果存储在变量 final_price 中;计算节省了多少钱,存储在变量 saved_amount 中。然后,使用 f-string 分两行打印出类似以下格式的信息:
    最终价格是: 15.92
    节省金额是: 3.98

    f-string 说明符

    说明符   

    • {var}  (var 并非 Python 里的特殊关键字或者内置函数,它是一个通用的变量名占位符,代表任意的变量。联系:pass占位符,暂时不想编写函数的具体内容时可以使用pass占位。)
      • 简单替换 name = 'World'; f'Hello, {name}' 结果为 'Hello, World'
    •  {var:d}
      • 整数格式化 age = 25;  f'Age: {age:d}' 结果为 'Age: 25'  
    • {var:f}
      • 浮点数格式化 price = 3.14159;  f'Price: {price:.2f}' 结果为 'Price: 3.14'
    •  {var:x}
    • 科学计数法格式化(小写 e )
      • num = 10000; f'Scientific: {num:e}' 结果为 'Scientific: 1.000000e+04' {var:E}
    • 科学计数法格式化(大写 E )
      • num = 10000; f'Scientific: {num:E}' 结果为 'Scientific: 1.000000E+04' {var:,}
    • 千位分隔符
      • num = 1000000; f'Number: {num:,}' 结果为 'Number: 1,000,000'

    【习题1答案】 

    num1 = 20
    num2 = 8
    
    a = num1 + num2  # 计算和
    b = num1 / num2  # 计算商
    c = num1 % num2  # 计算余数
    
    # 使用f-string分三行打印结果
    print(f"{num1} 加 {num2} 的结果是:{a}")
    print(f"{num1} 除以 {num2} 的商是:{b}") 
    print(f"{num1} 除以 {num2} 的余数是:{c}")

    【习题2答案】

    price = 19.9
    discount = 0.8
    
    final_price = price * discount  # 计算折扣后价格
    saved_amount = price - final_price  # 计算节省金额
    
    # 使用f-string分两行打印结果
    print(f"最终价格是: {final_price:.2f}")
    print(f"节省金额是: {saved_amount:.2f}")
    
    
    print(f"最终价格是: {final_price:.2f}\n节省金额是: {saved_amount:.2f}")

    用上print函数的内部参数sep,问题出在哪呢?

    print(f"最终价格是: {final_price:.2f},节省金额是: {saved_amount:.2f},sep='\n'")

    错误原因:把 sep='\n' 写在了字符串里面,这会让它被当成字符串的一部分,而不是 print 函数的参数。

    正确写法:

    # 修正后的 print 语句,将 sep 参数放在正确的位置
    print(f"最终价格是: {final_price:.2f}", f"节省金额是: {saved_amount:.2f}", sep='\n')
    

    总结:

    • 初步了解Python的书写规则和print函数的基本语法
    • 掌握多种对于换行的写法和结果的输出方式 

    @浙大疏锦行

    你可能感兴趣的:(Python学习笔记,python,开发语言)