日知录(一):python数据类型和基础方法

    技术2026-01-28  8

    日知录:记学习廖雪峰python

    一、数据类型3个Error以及python的使用方法eg.终端的交互式运行 字符串类型格式化的方法字符串的方法调用列表的方法字典的操作方法元组的操作方法 二、文件的导入导出三、python常用语句四、程序控制--if,for斐波拉契数列 Fibonacci series循环嵌套---查找素数交作业-- if语句 python作为一种解释性语言,其特性:高级的数据结构,复合语句的缩进,不需要变量声明或参量声明。 与C语言不同的是,在交互式界面中python是写一行运行一行,即时可以看到当前程序的错误,而不是等整个程序运行时报出错误。

    一、数据类型

    python的数据类型分为数字、字符串、列表(list)、元组(tuple)、字典(dict)、集合(set).

    3个Error以及python的使用方法

    1.语法错误,不能写在同一行,每行代码仅负责一个动作.

    注:图截自B站黑马程序员视频

    2.名称错误 --NameError. 注:图截自B站黑马程序员视频

    3.缩进错误,不期望出现的缩进 --Indentation Error. 注:图截自B站黑马程序员视频

    4.参考B站黑马程序员---- 3种使用方法 1.解释器 python3使用python3解释器 2.交互式 windows终端 但是代码不能保存,退出用ctrl+D或 exit().

    ipython的shell 3.IDE(集成开发环境) eg.pycharm anaconda

    eg.终端的交互式运行

    字符串类型格式化的方法

    单引号和双引号是一样的,多行文字的话需要用三引号’’’ ‘’’ 来表示.

    字符串的方法调用

    列表的方法

    list :可变大小,有序.

    class=['a','b','c']

    字典的操作方法

    不可变 一个key对应一个value

    dict={'Mike':90,'Bob':75,'Tom':85} dict[Mike] 90

    元组的操作方法

    tuple,不可修改,有序列表.

    t=(1,2) t=('a','b',['A','B']) t[2][0]='A' t[2][1]='B'

    二、文件的导入导出

    三、python常用语句

    四、程序控制–if,for

    斐波拉契数列 Fibonacci series

    a,b=0,1 # 变量a,b同时赋值,即a=0.b=1 while b<10: print(b) a,b=b,a+b #变量赋值前,右边先完成计算,右边的表达式从左往右赋给a,b

    1.多重赋值的理解,参考最后一行注释 2.while语句的循环 3.书写格式,缩进要注意 4. 交换两个数的值

    a=b,b=a

    python变量并不直接赋值,只是引用了一个内存地址,交换变量时,只是交换了引用的地址。

    循环嵌套—查找素数

    for n in range(2,10) for x in range(2,n) if n%x==0 print n,'equals',x,'*',n/x break else: print n,'is a prime number' 2 is a prime number 3 is a prime number 4 equals 2*2 5 is a prime number 6 equals 2*3 · · · · · ·

    后面的结果不做赘述。 1.else 是for循环内自然执行后的结果,看对齐,else 跟的是for

    2.break表示跳出当前的for循环,由于程序的两个for循环嵌套,所以进行外层的下一个for循环。 与之不同的是continue语句,仅表示跳出本次循环,注意本次循环和当前循环的区别,即continue语句后,跳出本次循环,继续进行下一个内层循环。待内层循环结束后,再进行外层循环。

    3.一直有的一个疑问:第一轮的循环,n为2,那range(2,2)不是取得一个空列表,为什么没有报错可以正常运行??? 搜到的一个解释是这么说的:range(2, 2)返回一个空的迭代器,for循环作用于空的迭代器上一次也不会执行,而是直接结束。 空迭代器是合法的,不会报错。 range(2,3)得到的是 2

    4.补充一下range()的使用 函数原型:range(start, end, scan): 参数含义:start:计数从start开始。默认是从0开始。例如range(5)等价于range(0,5) end:计数到end结束,但不包括end.例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5 scan:每次跳跃的间距,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1) range(1,6)是[1,2,3,4,5] range(1,6,3)就是从第一个开始,每3取一次数,就是[1,4] range(1,6,2)就是每2取一次数,就是[1,3,5]喽 这个用法跟python切片很像,可以搜一下python切片。

    交作业-- if语句

    一.错误版本 (写博客才发现自己的是Error版本,看来写这个还是有点帮助的) 图示是在廖雪峰老师的教程下完成的一个作业吧。 1.if -else语句的运用,注意格式! 2.def product(*args): def作为一个函数定义语句 (*args)是一个可变参数,即传入参数的个数可变,可变参数在函数调用时自动组装为一个tuple. 3.try-expect语句 这是一个python的异常捕捉机制,这点很厉害哦,先就这个程序简单理解一下,后面再专门讲一下。 4.由于我这个是错误的,就是最后没有躲过异常处理机制。

    函数中args默认为(),调用时若未输入参数即输入()时无法通过最后的异常处理测试。*

    二、运行正确

    Processed: 0.021, SQL: 9