Python期末考前必备速效救心技巧

(注:该版本仅适用于nwfauers的期末复习抱佛脚免挂科专享)
本期速通专章可以分为以下几个部分:(注,记住这些,会用,基本能且只能不挂科,最好可以学会举一反三)(建议全篇学习程序设计基础

  1. 输入输出数据类型
  2. 数据处理、控制方式
  3. 组合数据类型
  4. 函数
  5. 文件与异常

一、输入输出数据类型

在编程里,一般秉承着ipo的程序设计理念
即:input——输入;process——处理;output——输出
在我们所学的课程中,编程过程一定会有至少一个输出结果,同时,在有的情况下也会存在需要输入一些元素的情况,在输入的元素中,又会存在数据类型不同的问题,所以在第一部分我们来讲解数据的输入输出和数据类型。
一般情况下,数据的输入可以分为数值型和字符串型,即可以直接用于运算的数字和由一系列字母符号组成的字符串,当然了,字符串也可以是看起来是数字的字符串。例如:

a=12#此时,a的数据类型是数值型
b="12"#此时,a的数据类型为字符串

(一)、数据的输入

在Python中,数据的输入可以有多种形式,一般情况下我们可以无脑记住以下的输入形式:

a=input()

运用此种方式输入的数据为字符串型,不能直接用于计算,只能用于字符串类型的处理
但是如果将其嵌套进eval()中,则可以进行处理

a=eval(input())

此时,若输入数据12,则a为数值型,可以用于算数运算
(以上为必须要记住的)
在有些题目中,可能会涉及要有特殊的输入类型,例如:连续输入两个数,以空格/逗号隔开45 12或45,12
此时我们可以这么处理:

a,b=input().split(" ")#输入后以空格隔开
a,b=input().split(",")#输入后以逗号隔开

(以上方式都可以无脑背下来)

(二)、数据的输出

在编程过程中,最重要的一环,也就是输出,在我们目前所学,可以没有输入,但是一定会有一个输出的内容(除“文件”部分),输入方式也有很多种,以下介绍笔者认为比较简单易记的一种:

print()#括号里添入需要输出的内容。
print("srgerth")#输出一个字符串srgerth
print(b)#输出变量b的内容

当你需要输出的内容是一个浮点数,即小数时,例如π,有时会存在小数位数的问题,那么我们可以采用format方法:

print("{}".format())#花括号起占位作用,将format中的内容传入花括号中
print("{:.1f}".format(a))#将a的内容保留一位小数
print("{:.8f}".format(a))#将a的内容保留八位小数

更多的可以参考:format的更多用法

(三)、数据类型

在输入节,我们讲过,数据可以分为数值型、字符串型等
对于数字而言,字符串型的数字无法用于直接算术运算,只有转换成数值型才能进行算数处理。
例如:

a='12'
b='24'

此时a+b无法进行运算

a=12
b=24

此时a、b可以用于算术运算
如此,我们便需要采用数据类型转换的方式,将字符串型转换成数值型,将数值型转换成字符串型······
一般我们常用的有,将字符串型转换成数值型:int()、float();将数值型转换成字符串型:str()
例如:

a='12'
int(a)#把a转换成数值型的整型,即a=12
float(a)#把a转换成数值型的浮点型,即a=12.0
a=12
str(a)#把a转换成字符串型,即a='12'

除此之外还有很多其他的类型转换方式,以上的三个是必须要记住的,更多的可以移步程序设计基础

二、数据处理、控制方式

当我们输入了数据之后,就要对数据进行一些列处理,以达到我们所需要的结果,对数据进行处理我们可以通过算术运算、字符串处理以及多种控制结构进行复杂处理·····

(一)、数据处理

在我们进行数据处理时,难免会进行算术运算和字符串处理,相关的知识需要详细理解和记忆,可以参考程序设计基础中的部分内容

(二)、控制方式

若要对数据进行较复杂的处理,则需适当采用程序流程控制方式,可分为两种:选择结构和循环结构,这两种结构间也可相互嵌套使用。
该部分内容可见程序流程控制

三、组合数据类型

数据类型已学可以分为四个(也包括字符串)

  • 列表
  • 字典
  • 元组
  • 集合
  • (一)列表

    形如[1,2,3,4]的由中括号括起来的,由逗号分割开的数据类型叫做列表,列表的元素编号,切片等与字符串方法别无二致,值得指出的是列表的建立、元素的添加等内容。

    列表的建立

    我们可以直接建立一个空列表

    a=[]
    

    也可以用eval(input())输入一个列表

    a=eval(input())#此时a可以识别并存储一个列表形式的内容
    

    (更多的不再赘述)

    列表的一些处理方法

    append()元素添加
    sort()元素排序
    remove()元素删除
    inside()元素按位置加入
    [0,1,2]*5列表的拓展

    print([0,1,2]*5)
    #[0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2]
    

    (二)字典

    字典是形如{a:b,c:d}的由花括号括起来的,以逗号分隔每组数据,每组数据由冒号分开,在冒号左边的为键,冒号右边的为值。
    键和值一一对应,键不能重复,值可以重复

    调用字典的内容

    #假设有一个字典a,字典里有一个键是“中国”
    print(a["中国"])#用字典名,后跟中括号,里面写键,就能调用字典的键对应的值
    

    字典内容的添加

    a={}#定义一个空字典
    a["俄罗斯"]=2
    print(a)#输出{'俄罗斯': 2}
    

    在字典中添加键值对,只需要a[键]=值,即可在字典中添加一个新键值对

    字典中内容的获取

    a={"China":1,"Russia":2,"Amirican":3}
    b=a.get("China")
    print(b)#输出1
    

    可以使用keys()、values()和items()方法分别获取字典中所有的键、所有的值以及所有的键值对,例如:

  • 获取所有的键
  •  print(d.keys())  # dict_keys(['name', 'age']) 
    
  • 获取所有的值
  •  print(d.values())  # dict_values(['Alice', 20]) 
    
  • 获取所有的键值对
  • print(d.items())   # dict_items([('name', 'Alice'),('age', 20)])
    

    需要注意的是,返回的键、值和键值对都是字典视图对象,可以通过转换成列表或其他数据类型来进行进一步处理。

    四、函数

    定义函数的作用在于可以随时调用,而不用再用代码呈现所需要实现的功能
    在Python中函数分为内置函数和自定义函数

    (一)、自定义函数

    在数学中,函数中变量有自变量和因变量之分,例如一个一元一次方程:y=ax+b,y是因变量,x是自变量那么在Python中,Python里的函数可以没有输入值,也就是没有自变量,但是一定会有一个返回值,也就是因变量。
    在Python中,可以使用def关键字来定义函数。函数由函数名和代码块组成,其中函数名是标识符,它用于调用函数。代码块中包含了函数的操作。
    例如:

    def f(n):    #定义一个函数名为f,输入的变量参数为n的函数,冒号必不可少
    
    def f():      #定义一个函数名为f,无输入变量参数的函数,冒号必不可少
    

    然后经过一系列的处理后,使用return引出返回值,例如:

    def f(a,b):
        if a>b:
            a,b=b,a
        return b
    

    这个函数的作用是输入a,b两个值,返回其中较大的值
    当如上定义完一个函数之后,接下来就需要调用函数了,调用函数时,只需要写出函数名和需要调用的变量参数,例如:

    def f(a,b):
        if a>b:
            a,b=b,a
        return b
    m=14
    n=26
    print(f(m,n))
    

    在这段程序中,调用了定义的f函数,需要传入的变量参数为m和n.

    (二)、内置函数

    在Python中有很多其自带的函数,也有很多库函数,需要调用相关的库。
    不用调用库,可以直接使用的函数,一定要记住的有:

  • max()求最大值,括号里可以是一系列数字,也可以是一个列表max(1,5,8,9)或max([1,5,8,9,6])
  • min()求最小值,使用方法如上
  • sorted()和sort()一般用于组合数据类型,如列表等不同在于:
  • sort()sorted() 都是 Python 中用于排序的函数,但它们在使用上有区别。
    1. sort() 属于列表对象的方法,会直接对原列表进行排序,不会生成一个新的列表。例如:

      numbers = [3, 2, 1]
      numbers.sort()
      print(numbers)  # 输出 [1, 2, 3]
      
    2. sorted() 是 Python 内置函数,会返回一个新的排序后的列表,原列表不受影响。例如:

      numbers = [3, 2, 1]
      sorted_numbers = sorted(numbers)
      print(sorted_numbers)  # 输出 [1, 2, 3]
      

    此外,还有一些其他的区别:

  • sort() 是方法,需要在列表对象上调用,而 sorted() 是函数,可以对任何可迭代对象排序。
  • sort() 的返回值是 None,即它只是原地对列表进行排序,没有返回值;而 sorted() 返回一个新的排好序的列表。
  • sort() 可以接收一些参数(例如 keyreverse)来指定排序方式,而 sorted() 则只接受一个可迭代对象作为参数。例如:
  •  a.sort()#a为变量名,直接使用排序从小到大`
     a.sort(reverse=True)#a为变量名,排序从大到小
    

    因此,如果需要排序一个列表且不需要保留原来的顺序,则可以使用 sort() 方法;如果需要保留原来的顺序或者需要对任何可迭代对象排序,则可以使用 sorted() 函数。

  • len()求数据类型的长度,应用于字符串、列表等len('aefcwcg')或len([7,8,5,9,8,6])
  • sum()求括号内元素的和,必须为数值型sum(4,5,8,6,1,18)或sum([7,4,5,6,9,7])
  • abs()求括号内元素的绝对值
    (以上内容均建议记住)
  • 五、文件与异常

    在某些情况下,我们需要去处理一个文件类型的,诸如txt文件和csv文件,此时我们就有一些列的方式包括打开、读取、写入、关闭等。

    (一)文件的操作模式

    文件可以分为文本文件、二进制文件,处理的方式也可分为只读、只写等,此处我们一定要记住两种基本就够用了:

  • 只读模式(‘r’):用于从文件中读取数据。
  • 只写模式(‘w’):用于将数据写入文件,如果文件已存在,则覆盖原内容;如果不存在,则创建新文件。
  • 文件的操作模式一般要写在文件的打开部分

    (二)文件的打开

    文件的打开可以使用两种方式:

  • open方法
    open(文件名,操作模式)这是最基础的打开方式
  • a=open("abc.txt","r")
    
  • with open 方法
    with open(文件名,操作模式)as 变量名:
  • with open('abc.txt', 'r') as file_obj:
    #最后的冒号不能忘记
    

    在with open方法打开的文件,可以直接对变量名的内容进行处理

    with open('abc.txt', 'r') as file_obj:
        
        for line in file_obj:
            print(line)
    #分行打印了'abc.txt'文件中的每一行内容
    

    (三)文件的读取

    读文件有两种方法

  • read()
    一般用于直接读取文件里的全部内容,读取后为字符串型
  • readline()
    一般用于读取文件里的一行(段)内容,读取后为字符串型
    类似的,实现readline的功能还可以像上文中直接open文件之后:
  • with open('abc.txt', 'r') as file_obj:
        
        for line in file_obj:
            print(line)
    

    (四)文件的修改(写入)

    文件的写入有两种方式,分别为write()和writelines()

  • write()方法用于写入单行文本或二进制数据到文件中。
    变量名.write(内容)
  • writelines()方法用于写入多行文本或二进制数据到文件中。
    变量名.writelines(内容)
    例如:
  • # 打开文件
    file = open('example.txt', 'w')
    # 写入单行文本
    file.write('Hello, world!\n')
    # 关闭文件
    file.close()
    
    # 打开文件
    file = open('example.txt', 'w')
    # 写入多行文本
    lines = ['Hello, world!\n', 'Welcome to Python!\n']
    file.writelines(lines)
    # 关闭文件
    file.close()
    

    (五)文件的关闭

    在Python中打开文件后,最后一定要记得关闭文件。关闭文件的目的是释放系统资源并刷新输出缓冲区,确保写入的数据被正常保存到文件中。
    关闭文件可以使用close()方法:

    变量名.close()
    

    除了手动关闭文件,还可以使用with语句来自动管理文件的打开和关闭,这样可以确保文件在使用完后自动关闭,避免出现文件句柄泄漏等问题。

    with open('example.txt', 'r') as file:
        # 读取文件内容
        content = file.read()
        # 文件自动关闭
    

    上述代码中,open()函数返回文件对象,然后使用with语句将该文件对象赋值给变量file,在with块内读取文件内容,with块执行完毕后会自动关闭文件。

    (六)csv文件的处理

    要处理csv文件,一定要记住最开头加上“import csv”,要调用csv库,才能处理csv文件
    例如:

    import csv
    with open('example.csv', 'r') as file_obj:
        reader = csv.reader(file_obj)#此处一定要使用“csv.reader”,csv.writer是csv库里专门处理csv文件读取的方法
        for row in reader:#这里读取的就是csv文件的一行内容,以列表的形式展现出来
            print(row)
    

    以上代码使用csv.reader()函数将csv文件对象转换为csv.reader对象,并使用for循环逐行读取csv文件内容并打印为列表形式。

    如果需要将数据写入csv文件中,可以使用csv.writer()函数。以下是一个将二维列表写入csv文件的示例:

    import csv
    data = [['Name', 'Age', 'City'],
            ['Alice', '20', 'Beijing'],
            ['Bob', '22', 'Shanghai'],
            ['Charlie', '25', 'Guangzhou']]
    with open('example.csv', 'w', newline='') as file_obj:
        writer = csv.writer(file_obj)#csv.writer是csv库里专门处理csv文件写入的方法
        for row in data:
            writer.writerow(row)
    

    以上代码将一个二维列表data写入example.csv文件中,每个列表元素占据csv文件的一行,用,隔开。注意,在打开csv文件时需要指定newline=''参数,否则写入的csv文件将会有重复空行

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python期末考前必备速效救心技巧

    发表评论