暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

python基础语法扩展----关于数据类型以及多种方法理解分支语句

杨三岁的神奇妙妙屋 2022-04-12
355

一、数据类型

类型名称
转换方法
定义
人话
字符串
str()
由数字、字母、下划线组成的一串字符串带引号的(单双都可,注意一定要英文输入法输入)
整型
int()
整数类型
真就是数学上的正数(说白了就是不带小数点的数)
浮点型
float()
小数类型
真就是数学上的小数(说白了就是带小数点的数)
布尔型
bool()
一种特殊的整型类型
总共就良种,True和False,前后分别代表整型的1和0。可以理解成对和错
复数类型

complex()

直接输入:虚部后面加上j


这玩意不咋考,用的也很少,知道有这么个东西就行
集合类型

直接输入:{}

由字符串转换:set()

特点是元素无序,不可重复
除了能去重个人觉着没啥用(而且我个人也不用这种方法去重),考试也不考,了解即可
列表类型

直接输入:[1,2,3]

转换:list()

特点是元素有序,可重复
带中括号的,里面一堆元素
字典类型

直接输入(例):{1:'1',2:'2'}

以两列表分别作为键和值转换:dict(zip(keys, values))

特点是由键值对组成,其中键值对间无序(不过好像比较新的python版本好像默认有序了?)
带大括号的,里面一堆键值对,键与值间由:连接
当然还有一些其他有的没的类型,那些都不太重要了,就懒得列出来了。

标红的需要重点掌握

二、print、input、eval函数

print():

字面理解,打印,也就是显示在屏幕上。不过在一些其他运行环境中是已经弱化了print的存在(就比如我个人平时最常用的jupyter环境里直接最后打出变量名不用写print函数也能把结果显示在屏幕上)


input():

字面理解,输入,一般在咱们电脑上自己的ide里需要用键盘输入,不过咱们那个python123考试系统不用,它会自动输入(补充一句,这个函数平时用的挺少的,即使做命令行程序的时候我一般直接用click包里的函数代替,做出来的界面比原生的还好看😂其他时候要输入数据我一般都直接读取表格数据,谁会用这玩意一个一个手输数据😂多麻烦😂所以这玩意也就是考试的时候用用)

应试提示:python123系统里用到的input函数里一般不能带字符串。一般只能用input('')或input()。这里我建议考试的时候直接写input()就完了,别写那个引号了,写着多麻烦,到时候没弄好再出个bug不耽误时间,不值当的。


eval():

这函数老神奇了,能把字符串里一切能与python语法匹配上的东西转化并运行。看看以下运行结果就明白了:

    print(eval('0.1, 1.0'))
    # 结果(0.1, 1.0)


    # 将类似列表的字符串转化为列表
    print(eval('[0.1, 1.0]'))
    # 结果[0.1, 1.0]


    # 将类似运算符字符串结果计算
    print(eval('1+1'))
    # 结果2


    # 将类似字典的字符串转为字典
    print(eval('{1:"a"}'))
    # 结果{1: 'a'}


    print(eval('1==2'))
    # 结果False

    在考试的时候,当题目里输入的多个值如下:

      '1,2,3'

      你就可以这么用:

        a, b, d = eval(input())
        # 赋值结果如下
        # a = 1
        # b = 2
        # d = 3

        这不比用split函数以逗号为分隔符切割再用int函数转换优雅多了。

        当然用这种方法写的时候也要注意,字符串里是否含中文的:或,

        典型错例:

          print(eval('1,2'))

          运行时报错:

            Traceback (most recent call last):


            File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/IPython/core/interactiveshell.py", line 3441, in run_code
            exec(code_obj, self.user_global_ns, self.user_ns)


            File "<ipython-input-12-6b38f8eaaadc>", line 1, in <module>
            print(eval('1,2'))


            File "<string>", line 1
            1,2
            ^
            SyntaxError: invalid character ',' (U+FF0C)

            应试提示:

            1. 所以说要是这样用的话考试的时候记得好好审题,现在我的习惯反正是一见到中英输入会不同的符号都会选中后看好再写程序。

            2. 当你考试的时候不知道用什么方法转换数据时,蒙个eval函数试试,会有奇效😏

            三、多种方法理解分支语句

            方法一:直接用英文的方式

            python有关分支语句部分无非就三个东西,if、elif和else。我们可以分别理解成:如果xxxx、其他如果xxx、其他条件下。

            方法二:用python的运行方式

            我们可以按照以下结构理解:

              # 以下伪代码中的bool代表布尔型数据,也就是True或False
              if bool:
              xxx
              elif bool:
              xxx
              else:
                  xxx

              我们一般情况下条件都是判断是否相等或是否大于、小于某数。而这些情况下单纯输出他们都是布尔型结果。

              也就是说在分支结构的if和elif后面只有是True的时候才会执行。

              应试提示:

              1. 当我们写完if后面的条件回车后,如果语法正确都是会自动缩进的。所以说如果没有自动缩进一定是前面的冒号出问题了(要不就是没写要不就是用中文输入法写的)这时一定要好好检查,不然会出bug

              2. 分支语句在任何情况下必须if开头,其他俩一定不能放在最前面


              暂时没啥了~如果有要强调的后期再出一系列

              文章转载自杨三岁的神奇妙妙屋,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

              评论