Python函数、类和对象、流程控制语句if-else while的讲解及演示(图文解释 附源码)

news2024/11/26 18:50:34

一、函数

函数是完成某个功能的代码段,可被其他代码调用,调用的代码可以将数据传递给函数,函数可将对数据的处理结果返回给调用代码。

def mysubt( a, b = 0 ): # 定义一个自己的减法函数,第二个参数为默认值为0的默认参数
    c = a - b
    return c
c = mysubt( 2, 1 ) # 按函数定义的参数顺序传入数据
c
>>>  1
d = mysubt(b = 1, a = 2) # 用赋值符号指定每个参数的值来传入数据
d
>>>  1
e = mysubt( 2 ) # 默认参数采用默认值,不输入新值
e
>>>  2

def changeInt ( k ):
    k += 1
    print( "函数内部的值:%d " % ( k ))
    return
k = 1106
changeInt( k )
print( "函数外部的值:%d " % ( k ))
>>>  函数内部的值:1107 
     函数外部的值:1106
def changeList ( mylist ):
    mylist[0] = 0
    return
newlist = [ 1, 2, 3 ]
changeList( newlist )
newlist
>>>  [0, 2, 3]
 
mynewsubt = lambda a, b: a - b
mynewsubt( 2, 1 )
>>>  1

内置函数

数学运算类内置函数有求绝对值函数abs、求幂函数pow、求四舍五入函数round、对集合求和函数sum、取商和余数函数divmod、创建复数函数complex、产生一个序列函数range、转换成浮点数函数float、转换成整数函数int、转换为8进制函数oct、转换为16进制函数hex、转换为2进制函数bin、转换为布尔类型函数bool等。

集合操作类内置函数有创建字典函数dict、创建集合函数set、创建元组函数tuple、转换为列表函数list、生成一个迭代器函数iter、排序函数sorted、返回集合中的最大值函数max、返回集中的最小值函数min、返回集合长度函数len、遍历元素执行操作函数map/转换为字符串函数str、格式化输出字符串函数format等

IO操作类内置函数除了print和input外,还有创建文件的file函数和打开文件的open函数等。

其他常用内置函数还有对类和对象进行操作的函数以及返回变量类型函数type等

二、类和对象 

对象

对象有属性和行为,属性可以表征对象的特征和状态,行为代表对象的功能。具有相同类型属性和行为的对象,用一个“类(class)”来抽象。在Python里,把类的行为的实现称为方法,方法的定义和应用类似于函数。

一个类是某一类对象的抽象,因此,该类对象的创建要依据该类来创建,称为实例化。因为str类是内置的,Python提供了更加方便和直观的对象创建方法,用赋值方式来创建字符串对象。

a = str( "aaaa" ) # 从类的实例化来创建对象
b = "aaaa" # 作为内置类型,可以用赋值运算符的方式创建对象
a == b
>>>   True
a.__eq__(b)
>>>   True

Python中的对象由对象标识符(identity)、类型(type)和值(value)组成。

Python的机器学习扩展库将机器学习的算法已经封装为各种类,只需要将类实例化,并按使用要求使用即可。

字符串类str的常用方法有:在字符串中查找指定子串方法find、字符串格式化方法format、检查是否只包含十进制数字方法isdecimal、检查是否只包含数字方法isdigit、检查是否只包含空格方法isspace、合并字符串方法join、子串替换方法replace、去掉头尾空格方法strip、分隔字符串方法split等等。

mystring = "   mystring   " # 头尾有空格
mystring.strip() # 用strip方法去掉头尾的空格
>>>  'mystring'
>>>   '__class__',
>>>   '__contains__',
>>>   '__delattr__',

数据类型的整数类int、浮点数类float、复数类complex和布尔类bool的方法主要是支持各类运算符的专有方法,如加法__add__、减法__sub__等。

列表类型的list类的常用方法有:向列表的末尾添加元素方法append、清除列表方法clear、拷贝列表方法copy、返回子元素出现的次数方法count、返回子元素的索引方法index、在指定索引处插入元素方法insert、删除列表中一个元素方法pop、从列表中删除指定元素方法remove、反转列表方法reverse、列表元素排序方法sort等。

mylist = [ 1, 2, 3, 4, 5 ]
mylist.reverse()
mylist
>>>   [5, 4, 3, 2, 1]

因为元组是不可变的序列,所以元组类型的tuple类没有可对元素进行修改的方法,其他方法与list类相似。

集合类型的set类的常用方法有:添加元素方法add、移除所有元素方法clear、拷贝集合方法copy、删除集合中指定元素方法discard、返回集合交集方法intersection、随机移除元素方法pop、移除指定元素方法remove、返回两个集合的并集方法union等。

字典类型的dict类的常用方法有:删除字典内所有元素方法clear、返回指定键的值方法get、判断键是否在字典中的方法key_in_dict、删除指定键对应的元素方法pop等。

类的创建

类的创建和使用主要涉及类定义、构造方法、继承和方法重写。

class circlar_area:         # 定义一个计算圆面积的类
    pi = 3.14                 # 圆周率是类的属性
    def __init__(self, r): # 类的构造方法
        self.r = r            # 通过构造方法设置圆的半径
    def compute(self):       # 该方法计算圆的面积
        return self.pi * self.r**2    
circle = circlar_area(1)    # 实例化类得到对象,通过构造方法设置了圆的半径
circle.compute()              # 调用对象的compute方法得到圆的面积
>>> 3.14 
class round_area(circlar_area): # 继承circlar_area类,得到计算圆环面积的新类
    def __init__(self, r, R):     
        circlar_area.__init__(self, r) # 构造方法里要调用父类的构造方法
        self.R = R                   # 构造方法里设置圆环的另一个半径
    def compute(self):        # 重写compute方法,实现计算圆环的面积
        return abs((self.pi * self.R**2) - (self.pi * self.r**2)) 
round_ = round_area(1, 2) # 实例化
round_.compute()
>>> 9.42

三、流程控制

下面是if-else分支结构

if condition:
    statements1
 
if condition:
    statements1
else:
    statements2
 
if condition1:
    statements1
elif condition2:
    statements2
else:
    statements3

 下面是while循环结构

while condition:
    statements
 
while condition:
    statements1
else:
    statements2
 
for var in sequence:
    statements
 
for var in sequence:
    statements1
else:
    statements2

 创作不易 觉得有帮助请点赞关注收藏~~~

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023年湖北报考施工员要多少钱?甘建二告诉您

2023年湖北报考施工员要多少钱?甘建二告诉您 2023年湖北报考施工员要多少钱,甘建二告诉您 2023年武汉报考施工员要多少钱,甘建二告诉您 2023年黄冈报考施工员要多少钱,甘建二告诉您 2023年黄石报考施工员要多少钱,甘…

HBase Java API 开发:批量操作 第3关:批量导入数据至HBase

每一次只添加一个数据显然不像是大数据开发,在开发项目的时候也肯定会涉及到大量的数据操作。 使用Java进行批量数据操作,其实就是循环的在Put对象中添加数据最后在通过Table对象提交。 如何进行批量操作呢,讲到批量操作,相信大…

秋招必备!阿里产出的高并发+JVM豪华套餐送给你,绝对硬核干货

**3、设计了方案,但细节掌握不透彻:**讲不出方案要关注的技术点和可能带来的消极影响。比如读性能有瓶颈会引入缓存,但是忽视了缓存命中率、数据一致性、热点key等问题。 面对马上就要到来的双十一的秒杀环节,你是否已经有备无患…

[附源码]Node.js计算机毕业设计高校第二课堂管理系统Express

项目运行 环境配置: Node.js最新版 Vscode Mysql5.7 HBuilderXNavicat11Vue。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分离等等。 环境需要 1.运行环境:最好是Nodejs最新版,我…

数据结构为何重要(《数据结构与算法图解》by 杰伊•温格罗)

本文内容借鉴一本我非常喜欢的书——《数据结构与算法图解》。学习之余,我决定把这本书精彩的部分摘录出来与大家分享。 基础数据结构:数组 数组是计算机科学中最基本的数据结构之一。如果你用过数组,那么应该知道它就是一个含有 数据的列表…

免费U盘文件恢复,你不知道的10款u盘恢复软件

U盘是我们在工作和生活中经常使用的移动存储设备。在操作U盘时,里面重要的文件可能会因为疏忽而被删除。通过电脑回收站、备份等方法都不能恢复U盘里面的数据,我们该怎么办?其实U盘删除的文件在删除后不会被完全删除,通过u盘恢复软…

以太网 STP、RSTP、MSTP基础配置、STP生成树安全保障操作命令介绍

2.13.0 以太网 STP、RSTP、MSTP配置、生成树安全保障操作 主要参考:华为S2750, S5700, S6700 V200R005(C00&C01&C02&C03) 产品文档 《命令手册》 MSTP快速生成树STP配置RSTP配置MSTP配置生成树的安全保障操作(1)根桥保护&#xf…

jdk1.8下载与安装教程(win11)

一、JDK下载 1.首先在Oracle官网上下载jdk1.8 打开官网:https://www.oracle.com/ 2.选择Developer Services的Java 3.选择Oracle JDK 4.选择Java8 Window点击: jdk-8u351-windows-x64.exe下载 5.接受Oracle Java SE的Oracle技术网络许可协议 …

Folate-PEG-DBCO,DBCO-PEG- FA,叶酸聚乙二醇环辛炔

●中文名:叶酸聚乙二醇环辛炔,叶酸聚乙二醇二苯基环辛炔,DBCO-PEG-叶酸 ●英文名:FA-PEG-DBCO , Folate-PEG-DBCO,DBCO-PEG- FA,DBCO-PEG-Folate,DBCO-PEG- Folic acid ●外观以及…

游戏合作伙伴专题:BreederDAO 与 SuperGaming 建立 SuperCharged 合作伙伴关系

BreederDAO 很高兴地宣布与 SuperGaming 建立合作伙伴关系,SuperGaming 是一家充满激情的游戏工作室,希望通过 Tower Conquest:Metaverse Edition 进军 Web 3 行业,这是一款基于 Polygon 区块链的免费多人塔防游戏。 征服新领域 S…

产品设计学习过程中的技术和方法

在产品设计的过程中,当你心中有创意设计时,你需要写下这个创意设计,并生成一个例子标记,以便总结你以前的想法。此时,你需要设计性能。在设计性能的过程中,我们需要使用各种设计工具,这些设计工…

自定义Springboot Starter

1.创建一个父项目&#xff1a; demo 1.1 项目结构&#xff1a; 1.2 pom文件内容&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/X…

大四web前端网页制作课作业——HTML+CSS+JavaScript仿小米手机商城网站(37页)

常见网页设计作业题材有 个人、 美食、 公司、 学校、 旅游、 电商、 宠物、 电器、 茶叶、 家居、 酒店、 舞蹈、 动漫、 服装、 体育、 化妆品、 物流、 环保、 书籍、 婚纱、 游戏、 节日、 戒烟、 电影、 摄影、 文化、 家乡、 鲜花、 礼品、 汽车、 其他等网页设计题目, A…

Windows + Pycharm + Docker 配置GPU跑深度学习【不常见GPU问题】

Windows Pycharm Docker 配置GPU跑深度学习 核心配置方法回顾&#xff0c;与 GPU无法使用的解决方案。 1. 更换镜像源 用于加速资源下载&#xff01;修改配置文件: daemon.json 添加国内镜像源&#xff1a; "registry-mirrors": ["https://registry.docke…

yolov5修改骨干网络--原网络说明

yolov5l网络示意图&#xff1a; 以yolov5s为例&#xff08;模型都是在yolov5l上修改了depth_multiple和width_multiple&#xff0c;上面图形是画的yolov5l的&#xff0c;下面的yaml是yolov5s的目的是为了更好的计算网络信息&#xff09; nc: 80 # number of classes depth_mu…

JuiceFS CSI Driver 常见问题排查指南

Kubernetes 作为资源调度和应用编排的开源系统&#xff0c;正在成为云计算和现代 IT 基础架构的通用平台。JuiceFS CSI Driver 实现了容器编排系统的存储接口&#xff0c;使得用户可以在 Kubernetes 中以原生的方式使用 JuiceFS。 由于 Kubernetes 自身的复杂性&#xff0c;用…

全栈Jmeter接口测试(十一):BeanShell脚本通过BeanShell进行加解密

BeanShell脚本 BeanShell简介&#xff1a; BeanShell是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些 语法和方法&#xff1b; BeanShell是一种松散类型的脚本语言&#xff1b; BeanShell是用Java写成的&#xff0c;一个小型的、免费的、可以下载、嵌入式的 Ja…

四、Docker 镜像发布阿里云、私有库(详解、实操)第一篇

1、概述 在上一篇中我们讲解到从Docker央仓库pull下来的镜像(centos7),是没有vim、ifconfig等命令的,我们可以以centos7为基础安装vim、ifconfig等需要的命令,然后export为一个tar,然后再import为一个新的增强版本的centos7镜像。那问题来了,这种export、import方式有没…

java计算机毕业设计基于安卓Android的教务的校内人员疫情排查系统设计与实现APP

项目介绍 校内人员疫情排查系统APP管理是校内人员疫情排查系统管理中对学生必不可少的一个部分。在人们校内人员疫情排查系统管理的整个过程中,校内人员疫情排查系统APP管理担负着最重要的角色。为满足如今日益复杂的管理需求,各类校内人员疫情排查系统APP管理程序也在不断改进…

java----类的加载与其初始化

java内存分析&#xff1a; 类加载的过程&#xff1a; 类的加载与ClassLoader的理解&#xff1a; 类的初始化&#xff1a; package Collections; public class text1 { public static void main(String[]args){A anew A();System.out.println(A.m); } } class A{static {System…