Python运算符、函数与模块和程序控制结构

给我家憨憨写的python教程

——雁丘

Python运算符、函数与模块和程序控制结构

  • 关于本专栏
  • 一 运算符
    • 1.1 位运算符
      • 1.1.1 按位取反
      • 1.1.2 按位与
      • 1.1.3 按位或
      • 1.1.4 按位异或
      • 1.1.5 左移位
    • 1.2 关系运算符
    • 1.3 运算顺序
    • 1.4 运算方向
  • 二 函数与模块
    • 2.1 内建函数
    • 2.2 库函数
      • 2.2.1 标准库函数
      • 2.2.3 第三方库
    • 2.3 包
    • 2.4 标识符
      • 2.4.1 标识符命名的规则
      • 2.4.2 标识符命名的常用方法
  • 三 程序控制结构

关于本专栏

关于Python安装与环境变量配置请查看本专栏文章Python安装与环境变量配置傻瓜式教程(2023年9月)

关于Pycharm的安装部署和基本使用请查看本专栏文章Python解释器和Pycharm的傻瓜式安装部署

一 运算符

Pyihon 提供了四种类型的运算符:算术运算符、位运算符、关系运算符、逻辑运算符。Python 可以处理很大的数,这一特点常常可以降低程序设计的难度。

Pyihon 运算符
类别运算符功能说明优先级目数
/()括号改变运算顺序0/
算术运算符**乘方一般省略不写1双目
+正号一般省略不写2单目
-负号-102
位运算符~按位取反~x=-(x+1)3
算术运算符*乘号4双目
/除号4
//整除5//2=24
%取余5%2=14
+加号5
-减号5
位运算符<<左移位16<<4=16*2*2*2*27双目
>>右移位16>>3=16/2/2/2
&64&15=0
|64|15=79
^异或64^15=78
关系运算符<小于8双目
>大于
<=小于等于
>=大于等于
==等于
!=不等于
逻辑运算符not9双目
and10
or11

1.1 位运算符

位运算就是按整数的二进制位进行的运算,运算对象必须是标准的charint数据类型。

在这里插入图片描述

1.1.1 按位取反

按位取反是对操作数的各位二进制值取反,即0变1,1变0。得到原码的反码。
例如:5按位取反结果为-6
~00000101        /十进制 5/
  11111010      /十进制-6(二进制为补码)/

按位取反的出现与计算机中负数的表示有关

1.1.2 按位与

按位与是双目运算符,参加运算的两个操作数按二进制位进行“与”运算。类似于数学中“交集”。例如:15&3的结果为3。
  00001111
&00000011
  00000011

1.1.3 按位或

按位或是双目运算符,参加运算的两个操作数按二进制位进行“或”运算。类似于数学中“并集”。例如:15|32的结果为47。
  00001111
|00100000
  00101111

1.1.4 按位异或

按位异或也是双目运算符,参加运算的两个操作数按二进制位进行“异或”运算。例如:15^3的结果为12。
利用按位异或可以很容易判断两个数的对应二进制位是相同还是相异,结果为0表示相同,结果为1表示相异。
  00001111
 ^00000011
  00001100

1.1.5 左移位

第一操作数的每一位向左平移第二操作数指定的位数,右边空位补0,左边移出去的位丢弃。例如:15及其左移1位、2位、3位的二进制补码如下表所示。
可见,利用左移位可以快速地实现整数的乘法运算,每左移一位相当于乘以2,左移n位就相当于乘以2n,非常有利于算法的硬件实现。
左移位

(6)右移位
将第一操作数的每一位向右平移第二操作数指定的位数,右边移出去的位丢弃。当第一操作数为有符号数时,左边空位补符号位上的值,这种移位称为算术移位;当第一操作数为无符号数时,左边空位补0,这种移位称为逻辑移位。例如:15和-15分别进行右移1位、2位、3位的二进制补码如下表所示
右移位

可见,利用右移位可以快速地实现整数的除法运算,每右移一位相当于除以21,右移n位相当于除以2n,非常有利于算法的硬件实现。

1.2 关系运算符

关系(Relational)运算是用来比较两个操作数的值的运算,比较的结果是一个逻辑值

比较字符串时则是按 第一个符号的ASCIT码值,如果相同则比较下一位

1.3 运算顺序

按照优先级从低到高计算

总体上的优先级顺序为: 算术运算符 > 位运算符 > 关系运算符 > 逻辑运算符,但按位取反运算符_的优先级位于算术运算符的正负号+-和乘方**之间。

1.4 运算方向

除了关系运算符的运算顺序是从左往右,其他均是从右往左

二 函数与模块

一个能解决大规模问题的程序通常会被分解成若千功能模块,这些功能模块被称为函数。使用函数通常可以使程序的结构更简洁易懂,可以提高程序的可读性和可复用性,Python 中的雨数包括内建函数、标准库函数,第三方库和用户自定义函数。

2.1 内建函数

内建函数就是不需要进行外部导人就能直接使用的函数,可以使用函数 dir(__builtins__)查看。下列为 Python 3.6 中的所有内建函数:
在这里插入图片描述

Python 常用初级内建函数
函数名功能
abs() 返回数字的绝对值
bool() 转换为布尔类型(若没有参数,返回 false)
int() 转换为整数
float() 转换为浮点数
cmplex() 转换为复数
str() 转换为字符串
bin()返回一个整数二进制表示。
otc()返回一个整数 八进制表示。
hex() 返回一个整数十六进制表示。
round() 返回统计学的四舍六入五凑偶
type() 返回参数的数据类型
id() 返回对象的身份标识
all()判断给定的元组或列表是否都为 True(空元组、空列表返回值为 True)
any()判断给定的元组或列表是否有 True空元组、空列表返回值为 True)
ascii()返回字符串(非 ASCII 字符转化为转义字符)
help()查询该函数的帮助信息

2.2 库函数

2.2.1 标准库函数

除了内建函数外, Python 还提供了标准库函数,需要先导入模块再使用函数,每个库有相关的一些函数。使用dir(模块名)查看该模块所有函数

  1. 导入一个模块
>>> import math      # 导入math模块
>>> math.floor(3.5)   # 使用math模块的向下取整函数
3
  1. 导入多个模块
>>> import math ,os ,operator
  1. 只导入模块中一个函数 from...import...
>>> from math import floor
>>> math.floor(3.5)   # 使用math模块的向下取整函数
3

优点:无需再写math.,用from math import *可以导人 math 模块中的所有属性和函数。

  1. 利用as在导入时为模块增加别名,例如import numpy as np表示导人 numpy 模块并为其取一个别名np,后续模块名 numpy 均可用 np 表示。

2.2.3 第三方库

第三方库提前下载后相当于标准库函数

可以在 PyPI 页面上搜索和安装、发布 Python 第三方库(模块)
安装其中的第三方库官方推荐使用Python 库管理工具 pip,只要将第三方库下载到本地然后进行安装即可。
举例
安装安卓自动测试库atx,步骤为:

  1. Python 官网下载文件 get-pip.py(目前 Python IDE 中一般都预装了 pip,不需要另外载和安装,直接使用第3步安装即可)
  2. 在命令提示符方式下运行如下命令安装 pip。
python get-pip. py

3 使用 pip 安装 atx 第三方库。

pip install atx

2.3 包

是由模块和子包组成的一个应用程序执行环境,是一个有层次的文件目录结构

>>> import A. C. cl
>>> A. C. cl. foo(123)

或者

>>> from A. C. cl import foo
>>> foo( 123)

A 是最顶层的包,C 是它的子包,而 c1子包 C 中的模块。

2.4 标识符

在 Python 程序中,我们对于变量、方法、类、用户自定义函数等等可以由用户起名字,这些名字,我们把它统一的称之为标识符

2.4.1 标识符命名的规则

  1. 内容限定:只能用
  • 英文
  • 中文(不建议)
  • 数字(不能用于开头)
  • 下划线_
  1. 大小写敏感
  2. 不可使用关键字

2.4.2 标识符命名的常用方法

  1. 遵循“见名知意”原则,在每一处逻辑断点处标识,两种方法:
      windows风格,驼峰命名法:大写字母标记逻辑断点,如mathGrades
      unix风格,下划线法:   下划线标记逻辑断点,如math_grades

  2. 变量中的英文字母全部小写

三 程序控制结构

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/112260.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

9.18 QT作业

mainwindow.h QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACEclass MainWindow : public QMainWindow {Q_OBJECTpublic:MainWindow(QWidget *parent nullptr);~MainWindow();signals:void jump(); //自定义跳转信号函数private slots:vo…

基于SSM的校园车辆管理系统设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

Python 字符串的常用方法

视频版教程 Python3零基础7天入门实战视频教程 下标索引操作和前面的列表&#xff0c;元组用法一样。 虽然字符串不能被修改&#xff0c;但是返回一个操作过的新字符串&#xff0c;所以方法还不少。 我先学习下常用方法&#xff1b; 1&#xff0c;index(元素)方法&#xff0…

自动驾驶行业观察之2023上海车展-----整体发展趋势

1.行业趋势 新能源势不可挡。 本次车展上首发了150多款新车&#xff0c;约有100款是新能源车;跨国车企全面电动化&#xff0c;但日韩系布局相对缓慢&#xff1b; 2.自主品牌 品牌持续向上 本届车展自主品牌开始疯狂向高端内卷&#xff0c;高端化态度坚决 &#xff08;包括仰…

数据库----数据查询

1.6 查询语句 语法&#xff1a;select [选项] 列名 [from 表名] [where 条件] [group by 分组] [order by 排序][having 条件] [limit 限制]1.6.1 字段表达式 mysql> select 锄禾日当午; ------------ | 锄禾日当午 | ------------ | 锄禾日当午 | ---…

基于matlab实现的船舶横摇运动仿真程序

完整程序&#xff1a; clc clear syms w we; w0.4:0.05:1.6;mu90;v6;%kb1;kt1;%航速6m/s&#xff0c;航向90度&#xff0c;即横浪&#xff0c;cos(90)0 T3;B10;Sw0.785;%船宽10米&#xff0c;吃水3米,水线面系数假设为0.785 weww.^2.*v/9.8; for i1:24 delta_we(i)we(i1)-…

1-FPGA硬件加速-YUV_YCbCr

这是对《基于Matlab与FPGA的图像处理教程》的学习笔记&#xff0c;代码和内容摘取自书中。 心得&#xff1a; 使用FPGA进行硬件加速的重点是消除或者减少浮点数运算&#xff0c;转换为定点运算&#xff0c;然后通过pipeline流水设计转为并行实现加速。 原理和方法 RGB与&…

ADB底层原理

介绍 adb的全称为Android Debug Bridge&#xff0c;就是起到调试桥的作用。通过adb我们可以在Eclipse/Android Studio中方便通过DDMS来调试Android程序&#xff0c;说白了就是debug工具。adb是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的and…

网络地址转换技术NAT以及路由器LAN口与WAN口的数据交换

NAT技术 网络地址转换&#xff08;NAT&#xff09;技术可以帮助局域网设备通过私有IP地址访问互联网。以下是NAT技术如何实现这一功能的基本原理&#xff1a; 私有IP地址&#xff1a;在一个局域网中&#xff0c;通常使用私有IP地址来为设备分配网络标识。私有IP地址范围包括以…

Python网络编程:构建网络应用与通信

&#x1f482; 个人网站:【工具大全】【游戏大全】【神级源码资源网】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 寻找学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】 Python是一门强大的编程…

S1FD40A180H-ASEMI快恢复二极管S1FD40A180H

编辑&#xff1a;ll S1FD40A180H-ASEMI快恢复二极管S1FD40A180H 型号&#xff1a;S1FD40A180H 品牌&#xff1a;ASEMI 封装&#xff1a;TO-247 特性&#xff1a;大功率、快恢复二极管 正向电流&#xff1a;40A 反向耐压&#xff1a;1800V 恢复时间&#xff1a;<300n…

kubernetes进阶 (三) 基础练习

前两天朋友给了我几道题&#xff0c;看着挺简单的&#xff0c;但实际做的时候发现坑不少&#xff0c;这里做下笔记 一、镜像构建部署lnmp 1、构建镜像 nginx、php、mysql 要求使用centos7作为基础镜像 2、使用deployment部署上面的容器,要求3个服务要放到一个pod中(虽然这样是…