学习python第五天

python第五天学习回顾 1.输入一个学生的成绩,将其转化成简单描述:不及格(小于 60)、及格(60-79)、良好 (80-89)、优秀(90-100) a=input('输入学生成绩:') if int(a) < 60: print('不及格') elif 60 < int(a) <=79: print('及格') elif 80 <= int(a) <=89: print('良好') elif 90<= int(a) <=100: print('优秀') 阅读详情

今天学习了函数的相关内容,以及面向过程和面向对象,以下是相关笔记

'''
文件说明:函数
为什么要使用函数:
    1、提高代码复用性--抽象出来,封装为函数
    2、将复杂的大问题分解成一系列小问题,分而治之--模块化设计的思想
    3、利于代码的维护和管理

函数的定义和调用
    白箱子:输入-处理-输出
    三要素:参数,函数体,返回值
    1.定义
    def 函数名 (参数):
        函数体
        return 返回值
    2.调用
    函数名 (参数)

参数的传递:
    1,形参与实参
        形参(形式参数):函数定义时的参数,实际上就是变量名
        实参(实际参数):函数调用时的参数,实际上就是变量的值
    2,位置参数
        严格按照位置顺序,用实参对形参进行赋值(关联)
        一般用在参数比较少的时候
        def function(x,y,z)
            print(x,y,z)
        function(1,2,3)#x=1:y=2:2=3
        实参与形参个数必须--对应,一个不能多,一个不能少
    3,关键字参数
        打破位置限制,直呼其名的进行值的传递(形参=实参)
        必须遵守实参与形参数量上一一对应
        多用在参数比较多的场合
        def function(x,y, z):print(x,y,z)
        function(y=1 z=2,x=3)
        位置参数可以与关键字参数混合使用
        但是,位置参数必须放在关键字参数前面
        function(1, z=2, y=3)
        不能为同一个形参重复传值
        def function(x,y, z):print(x,y,z)
        function(1, z=2, x=3)  #这是错误的
    4,默认参数
        在定义阶段就给形参赋值--该形参的常用值
        机器学习库中类的方法里非常常见
        调用函数时,可以不对该形参传值
        def register(name, age, sex="male")print(name,age,sex)
        register("大杰仔”,18)
        也可以按正常的形参进行传值
        register("林志玲”,38,"female”
        位置形参必须在默认形参的前面
        默认参数应该设置为不可变类型(数字、字符串、元组)
        def function(ls=[]):print(id(1s))ls.append(1)print(id(1s))print(1s)
        function() #列表的地址不会发生变化,但内容会发生变化
        让参数变成可选的
        def name(first name, last_name,middle_name=None):
            if middle_name :
                return first_name+middle_name+last_name
            else:
                return first_name+last_name
        print(name("捡","起"))
        print(name("大","咋","尊"))
    5.可变长参数 *args
        不知道会传过来多少参数“args
        该形参必须放在参数列表的最后
        def foo(x,y,z,*args):print(x,y,z)print(args)
        foo(1,2,3,4,5,6)#多余的参数,打包传递给args
        实参打散
        def foo(x,y,z,*args):print(x,y,z)print(args)
        foo(1,2,3,[4,5,6])
        foo(1,2,3,*[4,5,6]#打散的是列表、字符串、元组或集合
        可变长参数**kwargS
        def foo(x,y,2,**kwargs):
        print(x,y,z)
        print(kwargs)
        foo(1,2,3, a-4, b=5,c=6)#多余的参数,以字典的形式打包传递给kmargs
        字典实参打散
        def foo(x,y,z,**kwargs):
        print(x,y,z)
        print(kwargs)
        foo(1,2,3,**{"a”:4,“b”:5,“c”:6})
        可变长参数的组合使用
        def foo(*args,+*kwargs):
            print (args)
            print (kwargs)
        foo(1,2,3, a-4,b=5, c=6)

函数体与变量作用域
    函数体就是一段只在函数被调用时,才会执行的代码,代码构成与其他代码并无不同
    局部变量--仅在函数体内定义和发挥作用
    def multipy(x,y):
        z = x*y
    return 2
    multipy(2, 9)
    print(z)#函数执行完毕,局部变量z已经被释放掉了
    全局变量--外部定义的都是全局变量
    全局变量可以在函数体内直接被使用
    n=3
    1s =[0]
    def multipyx, y):
        # global z
        z= n*x*y
        ls. append(z)
        return z
    print (multipy(2, 9))
    ls
    通过global 在函数体内定义全局变量
    def multipy(x, y):
        global z
        z= x*y
        return z
    print(multipy(2, 9))
    print(z)

返回值
    1.单个返回值
        def foo(x):
        return x**2 
    2.多个返回值--以元组的形式
        def foo(x=1):
            returnl,x,x**2,x**3#逗号分开,打包返回
     
        print (foo(3))
        a,b,c,d=foo(3) # 解包赋值
        print(a)
        print(b)
        print(c)
        print(d)
    3.可以有多个return 语句,一旦其中一个执行,代表了函数运行的结束
        def is_holiday(day):
            if day in ["Sunday", "Saturday"]
                return "Is holiday"
            else:
                return "Not holiday"
                print("啦啦啦德玛西亚,啦啦啦啦”)  #你丫根本没机会运行。
        print(is_holiday("Sunday"))
        print(is_holiday("Monday"))
    4.没有return语句,返回值为None

几点建议
    1、函数及其参数的命名参照变量的命名
        字母小写及下划线组合
        有实际意义
    2、应包含简要阐述函数功能的注释,注释紧跟函数定义后面
        def foo():
            #这个函数的作用是为了给大家瞅一瞅,你瞅啥,瞅你咋地。
            pass
    3.函数定义前后各空两行
        def f1():
            pass
            
                      # 空出两行,以示清白
        def f2():
            pass
        
        def f3(x=3):  #默认参数赋值等号两侧不需加空格pass
            pass
匿名函数
    1.基本形式
        lambda 变量: 函数体
    2.常用用法
        在参数列表中最适合使用匿名匿名函数,尤其是与key=搭配
        排序sort()sorted()
        Is=[(93,88),(79,100),(86,71),(85,85),(76,94)]
        Is.sort()
        IS
        Is=[(93,88),(79,100),(86,71),(85,85),(76,94)]
        Is.sort(key=lambda x:x[1])
        IS
    #总成绩升
        Is=[(93,88),(79,100),(86,71),(85,85),(76,94)]
        temp=sorted(Is,key=lambda x:x[1]+x[0])
        temp
    #总成绩降
        Is=[(93,88),(79,100),(86,71),(85,85),(76,94)]
        temp=sorted(Is,key=lambda x:x[1]+x[0],reverse=True)
        temp
    max()
        1s=[(93,88),(79,100),(86,71),(85,85),(76,94)]
        n=max(ls, key=lambda x:x[1])
        n
    min()
        1s=[(93,88),(79,100),(86,71),(85,85),(76,94)]
        n=min(ls, key=lambda x:x[1])
        n

'''

python|python基础语法|今天是记录自己学习的第五天呀!加油! 1.append()#添加到已有链表尾部 2.extend() 3.insert()#插入到你想插入的位置 4.assert成为“断言”,当这个关键字后边的条件为假的时候,程序自动崩溃并抛出Assertion Error的异常。 5.for循环 for 目标 in 表达式: 循环体 6.range() range([start,] stop[,step=1]) #step默认为一 #range这个BIF的作用是生成一个从start参数的值开始到stop参数的值结束的数字序列。 noi习题 阅读详情

相关推荐

从POI兴趣点获取到ArcGIS中热力图制作

1. POI获取及坐标点转换 POI获取我们要借助下面这个网站↓↓↓ 规划云http://guihuayun.com/poi/ 搜索POI兴趣点并复制兴趣点, 图 新建txt文本文档,粘贴兴趣点 图片 查看后得知,lng为横坐标,lat为纵坐标 文件,另存为csv格式文件,编码为utf—8 打开QGIS,因为我们pol点是从百度地图上获取的,为BD09坐标系,与WGS84有一定偏移【GCJ02:火星坐标系,是由中国国家测绘局制订的地理信息系统的坐标系统。由WGS84坐标系经加密后的坐标系。 BD09:为.

qq_43173805的博客 5598

python 学习第五天

对自己学习的python做的笔记(思维导图),这是第四天的学习,之后的学习笔记还会上传,方便志同道合的朋友下载参考,并希望大家提出宝贵的建议! 利用xmind导出的图片形式: ...

Fighting 160

标准恢复二极管整流器的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告

报告页数: 150 图表数: 100 报告价格:¥16800 本文研究全球与中国市场标准恢复二极管整流器的发展现状及未来发展趋势,分别从生产和消费的角度分析标准恢复二极管整流器的主要生产地区、主要消费地区以及主要的生产商。重点分析全球与中国市场的主要厂商产品特点、产品规格、不同规格产品的价格、产量、产值及全球和中国市场主要生产商的市场份额。 主要生产商包括: Yangzhou Yangjie Vishay Intertechnology Power Semiconductors Inc Nexperia B

Fj69258的博客 5849

鼠鼠学习python的第五天:

乱序且不重复。

qq_74667605的博客 138

Spec-Kit实战:用‘规范驱动开发’重构一个老旧Node.js项目(避坑指南)

本文详细介绍了如何使用Spec-Kit工具通过‘规范驱动开发’(SDD)重构老旧Node.js项目。从逆向工程提取规范到增量改造策略,再到避免典型陷阱,提供了实战指南和避坑技巧,帮助开发者高效实现架构现代化,显著提升代码质量和维护效率。

weixin_42525582的博客 555

​​瑞芯微RK系列 vs 全志系列芯片:终极选型指南(2025版)​

​。

jinxi996611的博客 1万+

Python算法和数据结构学习 第六阶段 第五天

Python基础知识学习 第六阶段 第六阶段第五天

weixin_42185114的博客 294

Python 控制 Keysight N9010B/N9020/N9030 频谱仪

为什么要实现频谱仪的控制呢?起因是因为我司RF的同事们需要对通信模块进行GSM的带内杂散进行测试,由于该测试的频点涉及900多个,所以急需开发一款自动化测试工具。该工具需同时实现对无线通讯仪和频谱仪的控制,这篇文章主要介绍一下频谱仪的控制!做通信的应该对频谱仪都不陌生,不过我之前做的都是软件相关行业,所以我对频谱仪其实还是很陌生的;不过好在我的同时们都很热心,加上仪器的文档,一段时间下来,也算是熟悉了一些。

xgh1951的博客 1万+

学习python的第五天

学习python的第五天 作业的修正 猜数字游戏 计算机产生一个1-100的随机数,人输入自己猜的数字, 计算机给出对应的提示"大一点"、“小一点"或"恭喜你猜对了”,直到猜中为止。 如果猜的次数超过7次,计算机温馨提示"智商余额明显不足"。 “”" import random answer = random.randrange(1, 101) counter = 0 while True: counter += 1 user_answer = int(input('请输入你猜的数字

qq_58307515的博客 1861

RK3588 部署 YOLOv5s 实战:多线程加速从 16FPS 飙升到 120FPS(含性能优化)

因为RK3588包含了3个NPU核心,支持3个核心同时工作、双核合作、以及单核工作。我们可以使用线程池来加速。线程池是一种长街的并发编程模型,它用于管理和复用线程,以提高多线程程序的性能和效率。线程池通常包含以下主要组件:1、任务队列:任务队列用于存储待执行的任务。这些任务可以是函数、方法或其他需要多线程环境中执行的操作。2、线程池管理:线程池管理器负责创建、销毁和管理线程。它会监视任务队列中的任务,根据需要创建线程,执行任务,并在任务完成后将线程放回池中以供重用。

FJN110的博客 99

Android功耗系列专题分析之四:待机概率性功耗高的失效分析

本文分析了Android设备待机功耗异常高的问题。通过日志发现系统休眠失败,原因是PowerManagerService.Display唤醒锁未被释放。进一步排查发现,指纹解锁功能在灭屏时未正确释放屏幕锁定,导致DisplayReady状态异常。解决方案是将指纹功能的背光控制与DisplayReady状态控制分离,使用两个变量独立管理。经验表明,快速定位问题比解决问题更重要,修改原生流程时需谨慎评估风险。

451

Python算法和数据结构学习 第五阶段 第五天

Python基础知识学习 第五阶段 第五阶段第五天

weixin_42185114的博客 98

三菱FX系列PLC模拟量输入AD模块的使用方法和相关编程设置详解

三菱FX系列PLC模拟量输入AD模块的使用方法和相关编程设置详解

Robot_PLC_HMI_Automation 1万+

Python 学习第五天(2月20日)

打卡,但因个人原因未学习。

c_cosy的博客 233

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

十五天Python系统学习教程第五天

通过第五天的学习,您将掌握Python生态的依赖管理精髓,关键要点: 1️⃣ 虚拟环境是项目隔离的必备工具 2️⃣ requirements.txt是最基础的依赖管理方式,但pyproject.toml是未来趋势 3️⃣ 打包分发机制与Java有显著差异,需重点理解setup.py与__init__.py的作用

分享技术应用、实践场景等,评论区开放技术难题讨论,共同成长进步。 876

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Python算法和数据结构学习 第二阶段 第五天

Python基础知识学习 第二阶段 第二阶段第五天

weixin_42185114的博客 133

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

python学习第五天

python学习第五天,python的格式化输出

z52525252的博客 444

Python学习打卡第五天

在以上的实操练习中,years in current job(即在职年限)列不太适用该方法,最好使用数值编码。因为如下图所示,该列被分为十几种类型,造成大量的资源浪费。因此在后续的学习中,需要对该列的处理方式进行优化。这也提醒了我们,在数据预处理时一定要合理使用方法,不能随意套用,虽然可以运行成功,但是不够严谨,不是最优解。@浙大疏锦行。

qq_70124170的博客 586

python基础知识学习第五天

qq_43240142的博客 118

python学习打卡第五天

今天主要学习了列表,元组,集合和字典。其实在我看来,新学的四个东西,区别都不是很大,知识有自己特定的规则,但是主要的思路都是一样的。虽然每个都有许多的方法,但是常用的只有那么几个,其他用得比较少的需要时再百度也可以,初学列表感觉还不多,都能够理解,但是随着学习了后面的内容在运用时有时候会搞混乱。

2501_93228761的博客 197

Python小白学习的第五天(蓝桥杯备赛)-下半部分

如果文件已存在,写入的内容会追加到文件末尾;如果文件不存在,会创建一个新文件。如果文件不存在,会创建一个新文件。为了更好的学习Python中的递归数列,我们运用递归数列来写斐波那契数列。这个的代码也会相对复杂,因此需要的更多的是利用函数来实现简单计算器。Python基本的文件操作,包括 open,read,write等。:读取文件的所有行,返回一个列表,每行是一个元素。:写入一个字符串列表,每个字符串作为文件的一行。:这是对每个元素的操作,表示将每个元素乘以2。:条件表达式,检查每个元素的长度是否大于1。

A143754的博客 595

python第五天学习

学生管理系统

weixin_48401953的博客 199

python学习第五天(2025.3.20)

2.if elif else语句 if elif满足一个即可,否则else。1.if-else语句。

m0_61861237的博客 133

Python学习的第五天:容器型数据类型——列表

文章目录Python学习的第五天列表统计 Python学习的第五天 容器型数据类型(用一个变量可以保存多个数据) 列表(list) 元组(tuple) 集合(set) 字典(dict) 列表 通过[]构建 列表的操作 通过[]使用字面量语法创建列表 []内可以不放入数据创造空列表 通过.append(x)追加(在末尾添加)元素x 通过.insert(n,x)在下标为n的位置插入元素x 通过.pop(x)默认在末尾删除元素x 列表可以同时放入各个类型的数据,但是最好在列表内放入同种类型元素

m0_52863098的博客 204
上一篇: 学习python的第四天
下一篇: 学习python第六天
WuMingf_
博客等级 码龄4年 209粉丝 25原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值