Python 入门之 运算符+控制流

    xiaoxiao2026-10-02  10

    其实一直犹豫要不要写这么基础的文章,其实很多东西都是相通的,我主学的是 Java 语言,跟 Python 同样是面向对象的语言,但是还是有些东西的使用 Python 是有区别的,担心自己弄混,所以还是写篇文章记录一下,一来方便以后自己查阅,二来也是想巩固一下所学的知识。下面就针对 Python 的运算符和控制流进行讲解,这里只介绍 Python 中比较独特的部分,和其他语言类似的东西,比如加减乘除运算符就不在介绍。由于这篇文章是入门级别的文章,高手可直接跳过。

    Python 中的运算符

    1 . 求幂运算符

    在 Java 中如果我们想对一个数进行求幂运算,我们可能要借助于 Math 库中的 pow() 函数,但是在 Python 中我们可以使用两个连续的 * 表示求幂运算。

    a = 5 ** 2 print a

    2 . // 运算符

    可能很多人要说了,这个我认识,我打注释经常用双斜杠,可是很尴尬, Python 中的单行注释符号为 #,多行注释可以使用 ''' ,那么 // 是用来干嘛呢?用来求两数相除的整数部分。

    a = 10.0 // 3 print a

    这个时候就会输出 3.0,也就是相除的整数部分,余数被忽略。

    3 . & ,| 运算符

    这两个运算符大家都认识, & 按位与 , | 按位或,下面来讲讲这两个运算符的运算原理,看一个数 7&18 等于多少呢? 放到编译器里运行一下试试吧

    a = 7 & 18 print a

    打印的结果为 2 ,为什么呢?很简单,我们首先需要将 7 和 18 转换为 二进制, 7-> 00000111 18->00010010 , 然后将这两个二进制进行与运算,什么是与运算呢?只需要记住两个数同一位置上都为 1 的时候结果为1,其他都为 0 即可。运算过程如下

    很明显结果是 2,| 运算符和 & 运算步骤一样,不过 | 运算过程中,两个数同一位置上只要有一个是 1 ,则结果就是 1,可以自己去运算一下,这里就不在赘述了。

    4 . >>,<< 运算符

    第一眼看到这个符号,我的第一反应是远远大于和远远小于,这是是右移和左移的意思,左移和右移?怎么移?同样的需要将十进制数转化为二进制形式,然后进行左移和右移,其实左移一次等于是让一个数乘以 2,左移n 次就是让一个数乘以 2 的 n 次,右移则相反,是除以2 的 ‘n’ 次方。

    # coding=utf-8 # 左移2位 a = 5 << 2 print a # 右移三位 b = 32 >> 3 print b

    输出结果为

    20 4

    5 . not, and, or 运算符

    这三个是逻辑运算符,在其他的编程语言中如果你想表示或与非,你可能会使用这样的格式 ||,&&,! ,但是在 Python 中需要使用 or,and,not 。

    a = True b = False c = not a d = a and b e = a or b print c print d print e

    结果依次为 False False True

    6 . 我们不在介绍运算符,来看看运算符的优先级,我做了个图

    越靠近鱼头,等级越高。

    Python 控制流

    所谓控制流,无非也就是 if..else,while,for 等。基本的使用大家都会,不过 Python 总有它特殊的地方,下面来看看。

    1 . if...else

    if 判断语句有一个值得介绍的地方,如下所示

    a = 10 if 5 <= a <= 10: print a

    在 Java 语言中,你恐怕要这么写

    int a = 10; if(a >= 5 && a <= 10){ System.out.println(a); }

    2 . while , for

    唯一需要记住的一点就是,在 Python 中,无论是 for 还是 while ,都可以像 if 一样,在后面加 else 语句,else 语句在循环语句跳出来之后会执行。

    a = False while a: print ("I am while") else: print ("I am else") for i in range(1, 2): print ("I am for") else: print ("I am else")

    小提示: range() 函数可以设置步数间隔,什么意思?自己去试试吧~

    转载请注明原文地址: https://ju.6miu.com/read-1312542.html
    最新回复(0)