变量的语法格式

ads

    这里是因为电脑突然坏了被迫拖更半天的Lam,电脑一好光速开写第二讲教程。第二讲的内容是变量类型和运算符,在python的角度给大家讲解一下一些基本的编程知识,本期的受众应该是对编程没什么基础的朋友,当然对编程已经有一定基础的同学也可以以这一讲内容作为python的语言学习资料,话说了这么多,让我们开始这一期的内容。
    本文的构思框架基本如下:从变量类型和运算符两个大方向出发。在变量类型这块,简单介绍整数类型、浮点数类型、复数类型、字符串类型和布尔类型以及判断变量类型的函数type,然后一些实现基础的类型转换,会涉及eval函数的科普。在运算符方面,简单介绍算数、赋值、比较和逻辑四种基础的运算符的概念。
    正文开始:
    一、变量类型
首先,python的变量语法结构是name=value,把右边的值赋给左边的变量,这应该是基础到不需要讲的,以及有一些key words不能被用作变量名,这些错其实不容易犯,等大家写代码有了一定量之后什么不能作为变量名自然也牢记于心,感兴趣的同学可以自己去查一下,下面是一个变量定义的例子:

    值得一提的是,python是一种动态类型的语言,变量的类型可以随时变化,不同于C语言中的变量定义需要先定义类型,python在定义变量的时候不需要这一步,简单的name=value即可,python可以帮你智能的去判断你变量的类型,并且在后续变量类型转换也相对简单。
    那我们如何去知道一个变量是什么类型呢?我们可以用常识判断,当然,我们也有更加准确靠谱的方法:使用内置函数type,type的用法非常简单,语句格式是:type(变量),即可输出变量类型,下面是示例:
    这里我们可以看到,一开始number的类型是int(整数类型),被type函数正常识别,后面number变成了str(字符串类型),也被type函数正常识别。这个例子展示了type的用法,同时也表明了python是动态类型语言,可以直接改变变量类型。(图中number类型的改变)
    还有两点需要提醒,第一点就是python中是允许多个变量指向同一个值的,意思就是可以实现连等的操作,如:a=b=c=100在python中是成立的,这和C语言有很大的区别。第二点和C语言是相同的,变量的命名具有敏感性,大小写是区分的。例如PAI=3.1414926和pai=3.1415926这是两个完全不同的变量。
    做了这么多铺垫,下面开始对变量类型逐个介绍。
    (1)整数变量(int)
    在python中的整数类型有四种,分别是十进制、二进制、八进制和十六进制,默认为十进制,所以十进制是没有引导符号的,换句话说就是如果你想表明你输入的数字不是十进制而是其他进制,那你就得在你的非十进制数字前加前缀,具体是二进制前加0b或0B,八进制前加0o或0O,十六进制前加0x或0X,示例如下:
    感兴趣的同学可以自己摁计算器去验证一下这个结果。
    至此,整数类型的介绍完毕。
    (2)浮点数类型(float)
    int是整数类型,float可以被简单理解成带小数点的类型,如果只是定义一个新变量,那么name=value中没有小数点的value就是int,有小数点的就是float,我们可以用刚学的type函数来检验一下:
    两个例子都不难看出这一点。
    至此,浮点数类型介绍完毕。
    (3)复数类型(complex)
    complex是复数类型,就是高中学的整数和虚数的结合,个人感觉用处不会很广,以了解为主。基本格式是complex=a(实数部分)+b(虚数部分)j,我们也可以用complex.real和complex.imag来找到一个复数类型变量的实数和虚数部分,示例如下:
    至此,复数类型介绍完毕。
    (4)字符串类型(str)
    str是字符串类型的变量,写法是name=‘value’(其他写法前面有提及,此处用最常见的一种),需要注意如果是str类型的数字是无法直接用于计算的,他本身并没有数学意义,需要先转换。下面是str的基本写法示例:
    我们可以从这个例子中发现,字符串变量可以是单行的,也可以是多行的。
    至此,字符串类型介绍完毕。
    (5)布尔类型(bool)
    布尔变量算是最基础的知识,我们先上图后讲解:
    首先布尔变量只有两个值,一个是True,一个是False,表示真假的判断。图中我们把x定义为True,python就可以检测到他是布尔变量。布尔变量是可以进行数学计算的,体现在你用布尔变量计算时,True当做1计算,False当做0计算,上面的例子也能看出来。
    而我们还有一个函数,叫bool,这个函数可以帮助我们去看某个变量的bool值。bool值判断也很简单,言简意赅就是非0即True,0即False(不论0是int还是float),以及非空字符串为True,空字符串为False。
    至此,布尔类型介绍完毕。
    (6)变量类型转换
    讲了基础的五种变量类型,现在我们来学习这些变量类型如何转换。
    先是最基础的int和float类型的转换,如下图所示:
    首先对于最上面计算的解释,开始的x和y都是int类型,但python 十分智能,不同于C语言的int/int结果也是int,python在处理int/int不能整除的情况会自动将结果转化成float类型,这也就是为什么z是3.3333333333。
    然后在我们手动去转化两种变量类型时,我们能用int和float函数,用法也是很简单,int(float)=原来float的整数部分,float(int)=原来的int+.0。
    再往下就是一些错误示范,但诚恳地说这些错误都是为了学习而犯的,想看看结果,我们如果是为了服务于DL做python的基础教学应该不至于犯那么蠢的错误。
    下面介绍一种简单的str转换成int和float类型的方法,依然是用int和float函数,只要str是’number’这种形式的就可以直接实现转化,示例如下:
    下面我们不变化数据类型,依然是int类型,但是实现进制的转化,依然是用现成的函数,hex(十六进制)、oct(八进制)、bin(二进制),以十六进制为例,用法是hex(十进制数)=十六进制表示的这个数,示例如下:
​    最后我们来学习eval函数,这个函数的作用,言简意赅,就是去引号,示例如下:
    我们可以看到,最上面的例子,s一开始是str类型的变量,print的结果也是把这个式子打出来,原因是因为str变量它并没有数学意义,我们用了eval函数后把引号去掉了,那就相当于是print(式子),是可以直接出结果的,而这个结果的类型也就是float了,我们可以通过这个函数实现str到intfloat的变化。
    第二个例子是告诉大家,eval可以用作和input函数介绍,我们在第一讲讲到input函数提到了输入的东西是以字符串形式存在的,并没有数学意义,而eval和input的套用就可以实现输入一个有数学意义的变量。
    第三个例子是为了让大家更好的理解eval函数去引号的作用,我们print变量Bai2,输出内容就是别卷了,是因为Bai2承载的就是字符串“别卷了”。但是我们然后print(‘Bai2’),那结果会是什么呢,那输出就是Bai2,因为Bai2在此处成为了字符串内容的本身。我们此时用eval函数去套,把“Bai2”变成了Bai2,本质上实现了输出内容到输出变量的转化,希望大家好好地去理解这一点。
    至此,变量类型转换介绍完毕。
    二、运算符
    (1)算数运算符
    算数运算符本质上就是用于计算的,这个非常方便理解,大家能从图中看到这些运算方式的用法就行。
    需要注意的是,还是那句python比较智能,python的除法(/)在进行int和int的计算时会自动将结果转化为float,哪怕结果可以整除,这就和C有很大区别。C中的/对应python中的//,意思是整除,就是整除抹余,这一点注意一下就行。
    至此,算数运算符介绍完毕。
    (2)赋值运算符
​    这一块是最基础的赋值运算,赋值的本质就是右边赋值给左边,例如a=10,就是把10的值赋给了a。以及简单的赋值计算如x=x+y,意思是把x+y的值赋给了x。此外,还有一些便捷式写法,例如x+=y,意思是x=x+y,x-=y,意思是x=x-y,诸如此类可以类推,同学们可以看上图了解。
    值得一提的,不同于C,python支持更多更便捷的赋值操作,例如链式赋值,解包赋值和直接交换赋值,同学们可以了解并运用以精简代码,写法如下:
    ​至此,赋值运算符介绍完毕。
    (3)比较运算符
    顾名思义,比较运算符就是比较两个变量大小的,那涉及比较,就是大于(>),小于(<),等于(==),不等于(!=),大于等于(>=)和小于等于(<=)六种,先进行判断,再返回一个布尔类型的结果。这一块内容相对简单,我们以图促学:
    唯一需要注意的是,对初学者而言,很多人会忘记等于是==而不是=,=是赋值,==才是判断。
    至此,比较运算符介绍完毕。
    (4)逻辑运算符
    逻辑运算符有and、or和not三种。
and要求左右两边都是True结果才是True,否则其他情况就是False,示例如下:
    or则恰恰相反,要求左右两边都是False结果才是False,否则其他情况就是True,示例如下:
    在这里我们打断一下,细心的朋友可以发现,在and和or两张示例中,都有一个10/0的操作,显然10/0单独写是会报错的,但为什么程序没有报错呢?是因为在and里的第一条条件8<7已经是False,那结果一定是False,而在or里第一个条件是8>7是True,结果一定是True。两句都在左边已经判断出结果,直接忽略了右边的判断,所以我们也可以得知此处的判断顺序是从左到右的,如果左边没有结果再判断右边,而如果左边直接出了结果右边的语句就不执行了。
    最后是not,not就是取反,即not True就是False,not False就是True,非常好理解,代码实现如下:
    至此,逻辑运算符介绍完毕。
    到这,本讲内容就结束了,本系列的目的是速通python,所以可能有一些细节没能提及,略感抱歉。下一讲我们会介绍一些python里的结构例如if...else、elif、for、while和模式匹配等,希望自己的拙见可以帮助大家更有条理的学习。
    我们下期再见!



最后编辑于:2024/1/16 拔丝英语网

admin-avatar

英语作文代写、国外视频下载

高质量学习资料分享

admin@buzzrecipe.com