• Python学习笔记(一)


    一、变量和简单数据类型

    (一)变量

    • 变量的命名和使用
      • 变量名只能包含字母、数字和下划线。不能以数字开头。
      • 变量名不能包含空格,用下划线。
      • 不要将Python关键字和函数名用作变量名。
      • 要简短、具有描述性。
      • 小写字母l和数字1,大写字母O和数字0

    (二)字符串

    用引号括起的。(包括单引号、双引号)

    • 使用方法修改字符串的大小
    name = 'may zheng'
    name.title() # 以首字母大写的方式显示每个单词(其他字母为小写) name.lower() # 改为全部小写 name.upper() # 改为全部大写
    • 合并(拼接)字符串
    # 拼接
    first_name = 'may'
    last_name = 'zheng'
    full_name = first_name + ' ' + last_name
    
    print('Hello, ' + full_name.title() + '!')
    • 使用制表符或换行符来添加空白
      • 制表符
      • 换行符
    • 删除空白
    language = ' python '
    
    # 不改变变量本身内容 language.rstrip() # 删除末尾空白 language.lstrip() # 删除开头空白 language.strip() # 删除两端空白

    (三)数字

    加(+)减(-)乘(*)除(/),乘方(**)

    • 整数
    • 浮点数
    • 使用函数str()避免类型错误
    # 将非字符串值表示为字符串
    str(21)

    (四)注释

    • 注释用井号(#)标识
    • 一般井号后空一格再标注

    二、列表简介

    (一)列表

    • 用方括号([])来表示列表,用逗号(,)分隔其中元素
    • 列表是有序集合
    • 访问列表元素,索引从0开始
    fruits = ['apple', 'banana', 'orange', 'watermelon']
    
    print(fruits[0])    # 访问列表第一个元素,输出apple
    print(fruits[-1])   # 访问列表最后一个元素,输出watermelon

    (二)修改、添加和删除元素

    • 修改列表元素
    fruits = ['apple', 'banana', 'orange', 'watermelon']
    
    fruits[0] = 'pineapple'
    print(fruits)

    # 输出
    ['pineapple', 'banana', 'orange', 'watermelon']
    • 在列表中添加元素
    fruits = ['apple', 'banana', 'orange', 'watermelon']
    
    fruits.append('pineapple')    # 在列表末尾添加元素
    print(fruits)
    fruits.insert(1, 'grape')    # 在列表索引1处插入元素
    print(fruits)

    # 输出
    ['apple', 'banana', 'orange', 'watermelon', 'pineapple']
    ['apple', 'grape', 'banana', 'orange', 'watermelon', 'pineapple’]
    • 在列表中删除元素
      • 使用del语句    
    del fruits[0]    # 使用del语句删除列表任何位置处的元素,必须知道索引
      • 使用方法pop()删除末尾元素
    fruits.pop()    # 弹出列表末尾的值
      • 弹出列表中任何位置处的元素
    fruits.pop(0)    # 弹出列表索引0处的元素

    PS:如果要从列表删除一个元素,且不再以任何方式使用它,就用del语句;如果要在删除元素后还能使用它,使用方法pop()。

      • 根据值删除元素
    fruits.remove('apple')    # 知道要删除的元素的值,使用remove()删除列表元素时,也可接着使用它的值;且remove()只删除第一个指定的值,如果重复出现此值,可通过循环判断

    (三)组织列表

    调整列表内元素的排列顺序

    • 使用方法sort()对列表进行永久性排序
    fruits.sort()    # 永久性地修改列表元素的排列顺序,按字母顺序排列的
    fruits.sort(reverse=True)    # 按与字母顺序相反的顺序排列列表元素
    • 使用函数sorted()对列表进行临时排序
    sorted(fruits)    # 按字母顺序显示该列表
    sorted(fruits, reverse=True)    # 按与字母顺序相反的顺序显示列表
    • 倒着打印列表
    fruits.reverse()    # 永久性反转列表排列顺序
    • 确定列表的长度
    len(fruits)    # 使用函数len()可快速获悉列表长度

    三、操作列表

    (一)遍历整个列表

    • for循环
      • 注意缩进,冒号
    fruits = ['apple', 'banana', 'orange', 'watermelon']
    
    for fruit in fruits:    # 对于临时变量,可指定任何名称(使用单复数名称很方便);打印列表中的每个元素
        print(fruit)

    (二)创建数值列表

    • 使用函数range()
    for value in range(1,5):
        print(value)                  # 打印数字1~4,输出不包含括号第二个值
    • 使用range()创建数字列表
      • 可使用函数list()将range()的结果直接转换为列表
    numbers = list(range(1,6))
    print(numbers)

    # 输出
    [1, 2, 3, 4, 5]
      • 使用函数range()时,可指定步长
    numbers = list(range(2,11,2))    # 打印2~10中的偶数
    print(numbers)

    # 输出
    [2, 4, 6, 8, 10]
    squares = []
    for value in range(1,11):
        squares.append(value**2)    # 将1~10的平方添加到列表中,平方数列表
    
    print(squares)

    # 输出
    [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
    • 对数字列表执行简单的统计计算
    digits = list(range(0,10))
    
    min(digits)    # 找出列表最小值
    max(digits)    # 找出列表最大值
    sum(digits)    # 计算数字列表的总和
    • 列表解析
    squares = [value**2 for value in range(1,11)]    # 平方数列表,注意这里的for语句末尾没有冒号

    (三)使用列表的一部分

    • 切片
    fruits = ['apple', 'banana', 'orange', 'watermelon']
    print(fruits[0:3])    # 打印列表索引0、1、2的元素

    # 输出也为一个列表
    ['apple', 'banana', 'orange']
    print(fruits[:3])    # 没有指定第一个元素,自动从列表开头开始
    print(fruits[2:])    # 打印索引2到列表末尾的所有元素
    
    # 使用负数索引可以输出列表末尾的任何切片
    print(fruits[-3:])    # 此处打印列表末尾三个元素
    • 遍历切片
    • 复制列表
    # 可再创建一个包含整个列表的切片
    fruits[:]    # 同时省略起始索引和终止索引

    (四)元组

    • 列表适合用于存储在程序运行期间可能变化的数据集,列表是可以修改的。
    • 定义元组
      • 元组是不可变的列表,其中元素是不可修改的。
      • 使用圆括号;可以使用索引访问元组元素
    digits = (1, 2, 3, 4, 5, 6, 7, 8, 9, 0)
    print(digits[0])
      • 不能给元组的元素赋值
    • 遍历元组中的所有值
    digits = (1, 2, 3, 4, 5, 6, 7, 8, 9, 0)
    for digit in digits:
        print(digit)          # 使用for循环
    • 修改元组变量,即重新定义一个元组赋给原来的变量
    digits = (1, 2, 3, 4, 5, 6, 7, 8, 9, 0)
    digits = (1, 2, 3, 4)

    (五)设置代码格式

    • 格式设置指南(PEP 8)Python Enhancement Proposal 
    • 缩进,PEP 8建议每级缩进都使用四个空格(制表符可以设置为是四个空格)
    • 行长,建议每行不超过80字符;PEP 8建议注释的行长都不超过72字符。
    • 空行

    四、if语句

    • 条件测试(根据条件测试的值为True或Flase来决定是否执行if语句中的代码)
    #检查是否相等(==)
    >>>age = 22
    >>>age == 22
    True
    
    #检查是否不相等(!=) >>>age != 22 False
    #比较数字(<,>,>=,<=) >>>20 > 5 True >>>20 <= 5 False
    #检查多个条件(and,or) >>>20 > 5 and 20 < 6 False >>>20 > 5 or 20 < 6 True
    #检查特定值是否包含在列表中(in) >>>numbers = [1, 2, 3] >>>1 in numbers True
    #检查特定值是否不包含在列表中(not in) >>>2 not in numbers False
    #布尔表达式,通常用于记录条件,为跟踪程序状态或条件提供高效了一种方式 game_active = True can_edit = False
    • if语句
      • 简单的if语句:一个测试和一个操作
    if conditional_test:
        do something
      • if-else语句:能够指定条件测试未通过时要执行的操作
    if conditional_test:
        do something
    else:
        do something
      • if-elif-else结构
    if conditional_test1:
        do something
    elif conditional_test2:
        do something
    else:
        do something
      • 使用多个elif代码块(仅适合用于只有一个条件满足的情况)
      • 省略else代码块
      • 测试多个条件
    if conditional_test1:
        do something
    if conditional_test2:
        do something
    • 使用if语句处理列表
      • 检查特殊元素
    digits = [1, 2, 3]
    for digit in digits:
        if digit == 1:
            print(digit)
        else:
            print(1)
      • 确定列表不是空的
    digits = []
    
    if digits:               # 当列表为空时返回False
        for digit in digits:
            print(digit)
    else:
        print("There is nothing to print.")
      • 使用多个列表
    • 设置if语句的格式(比如在==、>=、<=等比较运算符两边添加一个空格)

    五、字典

    • 定义字典
      • 字典是一系列键-值对,使用花括号{}
      • 键和值之间用冒号分隔,键-值对之间用逗号分隔
    digits = {'one': 1, 'two': 2, 'three': 3}
    
    print(digits['one'])
    • 使用字典
      • 访问字典中的值
      • 添加键-值对(字典是一种动态结构)
    digits['four'] = 4
    digits['five'] = 5
    print(digits)

    # 输出新增了两个键-值对
    digits = {'one': 1, 'two': 2, 'three': 3, 'five': 5, 'four': 4}    # 键-值对的排列顺序与添加顺序不同
        • 先创建一个空字典,再往空字典里添加键-值对,以这种方式创建一个字典
      • 修改字典中的值
    digits['four'] = ‘四’
    digits['five'] = 5
    print(digits)

    # 输出
    digits = {'one': 1, 'two': 2, 'three': 3, 'five': 5, 'four': ‘四’}
      • 删除键-值对
    digits = {'one': 1, 'two': 2, 'three': 3, 'five': 5, 'four': 4}
    del digits['five']    # 永久性删除,使用del语句时必须指定字典名和要删除的键
    print(digits)

    # 输出
    digits = {'one': 1, 'two': 2, 'three': 3, 'four': 4}
      • 由类似对象组成的字典的格式(较大的字典)
    # 在最后一个键-值对后面添加上逗号,可以为以后在下一行添加键-值对做好准备
    digits = {
        'one': 1,          
        'two': 2, 
        'three': 3, 
        'four': 4,       
    } 
    • 遍历字典
      • 遍历所有的键-值对
    for key, value in digits.items():    # 包含字典名和方法items()
        print(key + '--->' + value)
    # for k, v in digits.items()  使用简单的变量名
    # 输出:键-值对返回的顺序也与存储顺序不同
    'one'--->1
    'three'--->3
    'two'--->2
    'four'--->4
      • 遍历字典中所有的键
    for k in digits.keys():     # 使用方法keys()返回一个包含字典中所有键对的列表
        print(k)
    # for k in digits  也有相同的输出,但是不方便理解
      • 按顺序遍历字典中的所有键
    for k in sorted(digits.keys()):       # 调用函数sorted()再遍历前先进行排序
        print(k)
      • 遍历字典中的所有值
    for v in digits.values():     # 使用方法values()返回一个包含字典中所有值的列表
        print(v)
    # 这种做法提取了字典中的所有值,没有考虑重复,如果要剔除重复项,可以使用集合(set)
    for v in set(digits.values()):    # 使用函数set()返回一个不重复的列表
        print(v)
    • 嵌套(将一系列字典存储在列表中或将列表作为值存储在字典中)
      • 字典列表
    # 创建一个用于存储奇数和偶数的空列表
    numbers = []
    
    # 创建奇数列表和偶数列表
    odds = {'one': 1, 'three': 3, 'five': 5}
    evens = {'two': 2, 'four': 4, 'six': 6}
    numbers.append(odds)
    numbers.append(evens)
    
    for number in numbers:
        print(number)
    print(len(numbers))

    # 输出
    {'one': 1, 'three': 3, 'five': 5}
    {'two': 2, 'four': 4, 'six': 6}
    2
      • 在字典中存储列表
    numbers = {
        1: ['one', ''],
        2: ['two', ''],
        3: ['three', ''],
        4: ['four', ''],
    }
    for k, v in numbers.items():
        print(k + '--->' + v)
      • 在字典中存储字典
    numbers = {
        'odd': {
            1: 'one',
            3: 'three',
            5: 'five',
            },
    
        'even': {
            2: 'two',
            4: 'four',
            6: 'six',
            },
    
    }

     

  • 相关阅读:
    递归和分类问题之间的区别
    基于TF-IDF的推荐
    mnist
    服饰分类的神经网络模型
    基于内容的推荐
    深度学习-术语
    FiBiNET-学习
    30,新起点,再出发。
    md5加盐加密
    批处理for命令中的/r和/d参数
  • 原文地址:https://www.cnblogs.com/mayyzym/p/10301608.html
Copyright © 2020-2023  润新知