Python教程(一)

温度转换实例

  • 背景

  • 输入处理输出

  • 设计算法

  • 代码实现

    # TempConvert.py

    temp_str = input('请输入带有符号的温度值:')

    if temp_str[-1] in ['F', 'f']:
    C = (eval(temp_str[0:-1]) - 32) / 1.8
    print('转换后的温度是{:.2f}C'.format(C))
    elif temp_str[-1] in ['C', 'c']:
    F = 1.8 * eval(temp_str[0:-1]) + 32
    print('转换后的温度是{:.2f}F'.format(F))
    else:
    print('输入格式错误')

注释

  • 单行注释

    #这是一个单行注释
  • 多行注释

    """
    这是一个多行注释
    """

变量命名规范

  • 普通变量,用蛇形命名法

    例如:max_value

  • 常量,采用全大写字母

    例如:MAX_VALUE , MIN_VALUE , PI

  • 仅内部使用变量,增加下划线前缀

    例如:loacal_value

  • 与关键字冲突时,添加下划线后缀

    例如:class_(不建议)

  • 类名,应该是驼峰命名

    例如:Boy_Class

  • 函数名,采用蛇形风格

    例如:mean_function

注:变量名称描述性、可读性要强,匹配其要表达的类型,尽可能短

保留字(关键字)

保留字,也称关键字,是编程语言中的一类语法结构。在特定的编程语言里,这些保留字具有较为特殊的意义,并且在语言的格式说明里被预先定义。

image-20240308105341845

数据类型

Python基本数据类型一般分为6种:数值(Numbers)、字符串(String)、列表(List)、元组(Tuple)、字典(Dictionary)、集合(Set)

数值

  • 整型、浮点型、布尔类型、复数类型等

    例如:100、30.7、1+2i、int()、float()

  • Python中可以直接操作数值运算,不用担心数值溢出

    注:需注意0.1 + 0.2此类情况,可以用特定库解决

  • 数值过长时,可以用下划线分割,增加可读性

    例如:i = 1_000_000

  • 布尔值可以作为数值参与运算

    #利用布尔值
    str = '人人人人人'
    # # #遍历字符串,判断当前字符sum = 0;str[i]=="人";sum = sum + 1
    n = len(str)
    sum = 0
    for i in range(n):
    sum = sum + (str[i]=="人")
    print(sum)
    #输出:5
    #方法二
    str = '人人人人人'
    sum = 0
    for char in str:
    sum += (char == "人")
    print(sum)

字符串

  • 字符串用双引号或单引号括起来

  • 两种序号体系:

    • 正向递增:从左往右,索引值从0开始递增
    • 反向递减:从右往左,索引值从-1开始递减
  • 字符串取单个字符

    例如:str[-1]取最后一个字符,str[0]取第一个字符

  • 字符串区间访问(切片)

    str[索引起始值:索引结束值:步长]

    左闭右开

    #例子
    str = '123456789'
    #若取字符串1到5,则:
    str_1 = str[0:5]
    #取偶数
    str = '123456789'
    str_1 = [1::2]

    新版本Python3如果起始索引值不填默认从0开始,结束索引值不填则默认遍历到最后一位

列表(序列)

  • 索引方式类似于字符串索引方式

    test_s = [1,2,3,4,5,6,7,8,"abc","123"]
    print(test_s[0::2])
    #输出:[1, 3, 5, 7, 'abc']

赋值语句

可支持同步赋值

#同步赋值语句
i , g , j = 1 , 2, 3
#将x和y的值交换,常规写法
t = x
x = y
y = t
#利用同步赋值语句
x , y = y , x

input()函数

打印括号内内容,并接收键盘输入作为返回值

分支语句

可以理解为分类讨论

# if分支语句
# TempConvert.py

temp_str = input('请输入带有符号的温度值:')

if temp_str[-1] in ['F', 'f']:
C = (eval(temp_str[0:-1]) - 32) / 1.8
print('转换后的温度是{:.2f}C'.format(C))
elif temp_str[-1] in ['C', 'c']:
F = 1.8 * eval(temp_str[0:-1]) + 32
print('转换后的温度是{:.2f}F'.format(F))
else:
print('输入格式错误')

注:条件判断语句结尾有冒号”:” 注意分支的完备性(即分类讨论不重不漏)

eval()函数

去掉字符串的引号并执行字符串中的语句,并返回结果

eval("print("123")")
#输出:123

格式化输出

C = (eval(temp_str[0:-1]) - 32) / 1.8
print('转换后的温度是{:.2f}C'.format(C))

循环语句

  • for循环

    """
    for i in range(10):
    <语句块>

    #该语句运行10次
    """

    """
    str = '123'
    for i in str:
    <语句块>

    #该语句运行三次
    """
  • whie循环