Python入门教程之运算符与控制流
作者:daisy 发布时间:2022-08-04 03:38:40
Python 中的运算符
什么是运算符?举个简单的例子 4 +5 = 9 。 例子中,4 和 5 被称为操作数,"+" 称为运算符。
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
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()
函数可以设置步数间隔,什么意思?自己去试试吧~
总结


猜你喜欢
- 在一些微服务或web服务中我们难免需要日志功能,用来记录一些用户的登录记录,操作记录,以及一些程序的崩溃定位,执行访问定位等等;Python
- 主要就是了解一下pytorch中的使用layernorm这种归一化之后的数据变化,以及数据使用relu,prelu,leakyrelu之后的
- 先看下面一段代码:for(var i=0; i<10; i++) { $('#ul').bind('click
- 本文首先举例阐述了两种排序方法的操作步骤,然后列出了用python进行的实现过程,最后对桶式排序方法的优劣进行了简单总结。一、桶排序:排序一
- 1.问:在DW中如何设置页面边距为0?答:在DW中似乎没有直接设置的方法,你只有在Html文档中插入以
- 本文实例讲述了Python实现在tkinter中使用matplotlib绘制图形的方法。分享给大家供大家参考,具体如下:一. 代码:# co
- 本文实例讲述了Python中bisect的用法,是一个比较常见的实用技巧。分享给大家供大家参考。具体分析如下:一般来说,Python中的bi
- 前言JSON是一种轻量级的数据交换格式。易于阅读和编写。 golang 提供了 encoding/json 包来操作JSON数据。1. 结构
- 人们很容易忽视图像img标签的alt属性。然而,它的重要性也无法体现出来,它是有利于网页的accessibility and&nb
- 在最近的项目中,需要做到一个时间,就是用户离开页面的时候,我需要缓存页面其中一部分的内容,但是我不需要用户刷新的时候也缓存,我只希望在我用户
- 视频教程教学地址:https://www.bilibili.com/video/BV18441117Hd?p=10x01路由from fla
- 在pyplot模块中可以使用xlabel()和ylabel()函数设置x轴y轴的标签。这两个函数的使用方法非常相似。使用xlabel()设置
- 之前做1月总结的时候说过希望每天或者每2天开始的更新一些学习笔记,这是开始的第一篇。这篇介绍的是如何把一个 itertools.c
- 如下所示:#!/usr/bin/python# -*- coding:utf8 -*-import xlwtimport osworkboo
- 最近正在用功的学习jQuery,在琢磨了不少别人写的功能之后,也开始尝试着自己开发一些功能。今天我做了一个简单的密码强度测试工具。这可功能的
- 如下所示:import arcpy... from arcpy import env... env.workspace="C:\\
- JavaScript是运行在客户端的脚本,因此一般是不能够设置Session的,因为Session是运行在服务器端的。而cookie是运行在
- 经常看到说正则的文章,但说的只是方法,却很少有说以下几个基本概念:1.贪婪:+,*,?,{m,n}等默认是贪婪匹配,即尽可能多匹配,也叫最大
- 如 现有字符串 "[]aseabcd[12345]ddxabcdsx[]",要截取"abcd[" 和
- 选定基类后,就可以创建它的子类了。是否使用基类完全由你决定。有时,你可能想创建一个不能直接使用的基类,它只是用于给子类提供通用的函数。在这种