从零开始入门python第一讲(1)

文章介绍了Python中的函数概念,包括定义、形参、实参、可选参数和可变参数的用法。通过示例解释了函数返回值、全局变量和局部变量的区别,并展示了如何使用turtle库绘制七段数码管以及结合时间进行数字显示。最后,文章提供了一个绘制当前时间的程序实例,并指出了需要改进的地方。
摘要由CSDN通过智能技术生成

这一章我们系统地来学习【函数】这个概念

首先来看定义

可以重用,并且可以实现特定的功能

定义函数要按照固定的格式,形如:

def是定义的标准表述

参数和return都是可有可无的,关于参数和return怎么理解,我们参照下面的表述

重要的比较难理解的就是最后一句话,要着重理解形参和实参在程序中的作用,另外函数输出的结果如果是特定的值或者数据的话需要用return语句来指定把哪个变量作为函数的输出,举个栗子

在这个阶乘的函数中,n就是形参,10就是实参,fact(10)就是函数调用的语句,return表示这个函数的输出就是s的值,关于实参和形参如何传递,计算结果如何传递,看下面这张图

接着通过两个示例学习一下【可选参数】和【可变参数】

在可选参数中,可选的参数在调用时可加可不加,不加的时候会有一个默认的值。

可变参数的数量不确定,可0个可多个

接着,我们来通过一个示例理解一下什么是函数的返回值

在上面例子里,函数的返回值是三个数值,并且这三个数值可以赋值给三个变量。

接着我们来理解什么是【全局变量】和【局部变量】

从字面意思理解,全局变量就是在整个程序中都发挥作用的变量,而局部变量就是在部分程序代码中发挥作用的变量,我们举个栗子:

在上面这个例子中,n和s不在函数fact()中和在fact()中时是完全不同的定义,在函数中时局部变量,在函数外是全局变量

而如果我们想把函数体中的变量也变成全局变量的话,那就要加上特别的声明:global

例如:

此外,组合数据类型默认是全局变量,如果在函数体内新建的话就变成局部变量了,还有lamda函数的使用,是函数定义的另一种写法,不是很重要,这里只提一下,不做过多介绍

接下来我们来接触今天的程序设计实例:【七段数码管的绘制】

先来看题:用turtle库在画布上画出当前时间,类似于下面这样的形式:

那么这个问题应该分为几个步骤来实现呢?

首先,我们要在步骤1里实现单个数字的绘制

其次,我们要在步骤2里实现一串数字的绘制

最后,我们再根据时间来输出最后的结果

按照这个思路的话,应该是第三个功能调用第二个功能,第二个功能要调用第一个功能

首先来实现第一个功能,实现单个数字的绘制

思路如上所示,我们将绘制单个数字转换成为【七段数码管】的显示问题

import turtle
def drawLine(draw):   #绘制单段数码管
    turtle.pendown() if draw else turtle.penup()
    turtle.fd(40)
    turtle.right(90)
def drawDigit(digit): #根据数字绘制七段数码管
    drawLine(True) if digit in [2,3,4,5,6,8,9] else drawLine(False)
    drawLine(True) if digit in [0,1,3,4,5,6,7,8,9] else drawLine(False)
    drawLine(True) if digit in [0,2,3,5,6,8,9] else drawLine(False)
    drawLine(True) if digit in [0,2,6,8] else drawLine(False)
    turtle.left(90)
    drawLine(True) if digit in [0,4,5,6,8,9] else drawLine(False)
    drawLine(True) if digit in [0,2,3,5,6,7,8,9] else drawLine(False)
    drawLine(True) if digit in [0,1,2,3,4,7,8,9] else drawLine(False)
    turtle.left(180)
    turtle.penup()
    turtle.fd(20)

可以看出,在这个程序中有两个函数,第一个函数通过参数(draw)来判断是否需要在指定位置划线(取决于画笔是抬起还是放下)

第二个函数是根据不同的数字在七段数码管中对应的位置是否需要划线写了7个单层的分支语句

举一个简单的例子:数字8在七段数码管中都是存在的

然后再把画一串数字这个功能集成封装在另一个更高等级的函数中,我们给它起名叫drawDate()

def drawDate(date):  #获得要输出的数字
    for i in date:
        drawDigit(eval(i))

再写主函数,来调用drawDate

def main():
    turtle.setup(800, 350, 200, 200)
    turtle.penup()
    turtle.fd(-300)
    turtle.pensize(5)
    drawDate('20181010')
    turtle.hideturtle()
    turtle.done()

然后调用主函数,main()程序运行结果如下所示:

这显然不是我们想要的效果,目前还有三个问题需要改进,一是数字的七段数码管之间应该是有一段空隙的,另外没有添加年月日的显示,显示的时间也并不是当前的系统时间。

为了解决以上三个问题,我们对程序做如下改进

首先来实现空隙的绘制

def drawGap(): #绘制数码管间隔
    turtle.penup()
    turtle.fd(5)

然后在画每一个线段之前和之后都加上空隙

把drawLine改成

def drawLine(draw):   #绘制单段数码管
    drawGap()
    turtle.pendown() if draw else turtle.penup()
    turtle.fd(40)
    drawGap()
    turtle.right(90)

接着,从系统获取当前的时间,并以我们自定义的形式来生成时间的字符串,改一下main函数

def main():
    turtle.setup(800, 350, 200, 200)
    turtle.penup()
    turtle.fd(-350)
    turtle.pensize(5)
    drawDate(time.strftime('%Y-%m=%d+',time.gmtime()))
    turtle.hideturtle()
    turtle.done()

可以看出,年后面会加一个“-”,月后面会加一个“=”,日期后面会加一个“+”,我们就可以进行判断了,更改drawDate函数为

def drawDate(date):
    turtle.pencolor("red")
    for i in date:
        if i == '-':
            turtle.write('年',font=("Arial", 18, "normal"))
            turtle.pencolor("green")
            turtle.fd(40)
        elif i == '=':
            turtle.write('月',font=("Arial", 18, "normal"))
            turtle.pencolor("blue")
            turtle.fd(40)
        elif i == '+':
            turtle.write('日',font=("Arial", 18, "normal"))
        else:
            drawDigit(eval(i))

其中,这个turtle.write是一个新的方法,可以用turtle来写出对应的文本字符串,并且可以用font参数来规定显示出来的字体的字号和颜色

程序运行结果如下:

好的,这是第一部分,先学到这儿

关于Python技术储备
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。
最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!对于还不清楚行业技巧或者是面试技巧薄弱的人来说,是有相当大的帮助的

一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

二、学习软件
工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
在这里插入图片描述

三、入门学习视频
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
在这里插入图片描述

四、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

五、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述

最后,我也给大家分享一份Python学习资料和公开课,里面的内容都是适合零基础小白的笔记和资料,不懂编程也能听懂、看懂。如果需要的话可以扫描底下二维码领取,让我们一起学习!

如果这篇文章对你有所帮助,还请花费2秒的时间 点个赞+在看+分享,让更多的人看到这篇文章,帮助他们走出误区。

大模型-小原
关注 关注
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
python入门到精通——完整教程【转载】
m0_58523831的博客
10-19 56万+
<link rel="stylesheet" href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/ck_htmledit_views-1a85854398.css"> <div id="content_views" class="htmledit_views"> <p>&nbsp;</p> 文章目录 ...
万字【Python基础】保姆式教学,零基础快速入门Python
龙叔的博客
09-14 18万+
Python基础入门、函数、列表、元组、字典、字符串等等
神仙级python入门教程(非常详细),从零基础入门到精通,从看这篇开始!
热门推荐
程序猿赵高的博客
10-13 35万+
坚持到了这儿,恭喜你,表示你有做开发的潜力,其实我想说的上面的内容还是刚刚开始,刚开始大家不需要多么精通了解这些内容,除了Python方面的知识,每个部分掌握一点儿能进行基本开发就好,主要是不断练习,让自己跳出「舒适区」,进入「学习区」,但是又不进入「恐慌区」,不断给自己「喂招」。
Python入门指南:从零开始学习Python编程
唯有努力,方可自信!
08-02 9851
Python是一种简单而又强大的编程语言,它在全球范围内广受欢迎,适用于各种应用场景,包括Web开发、数据分析、人工智能和科学计算等。本篇博客将为初学者提供一份Python入门指南,帮助你从零开始掌握Python编程基础。本篇博客简要介绍了Python编程的入门知识,包括安装Python、变量和数据类型、函数以及列表和字典。这只是Python编程世界的冰山一角,希望它能帮助你起步。在接下来的学习过程中,你可以深入学习Python的更多特性和功能,开发出更加强大的应用程序。祝你编程愉快!图书推荐。
从零开始python网络爬虫 pdf_从零开始Python网络爬虫 中文pdf_IT教程网
weixin_39845206的博客
11-20 275
资源名称:从零开始Python网络爬虫 中文pdf第1章 Python零基础语法入门 1第2章 爬虫原理和网页构造 17第3章 我的第一爬虫程序 26第4章 正则表达式 45第5章 Lxml库与Xpath语法 63第6章 使用API 88第7章 数据库存储 109第8章 多进程爬虫 139第9章 异步加载 159第10章 表单交互与模拟登录 182第11章 Selenium模拟浏览器 209第...
小甲鱼零基础入门学习python笔记
qq_32809093的博客
12-15 14万+
小甲鱼老师零基础入门学习Python全套资料百度云(包括小甲鱼零基础入门学习Python全套视频+全套源码+全套PPT课件+全套课后题及Python常用工具包链接、电子书籍等)请往我的资源(https://download.csdn.net/download/qq_32809093/11528609)查看 000 愉快的开始 python跨平台。 应用范围:操作系统、WEB、3D动画、企业应用...
从零开始python数据分析 电子版_从零开始Python数据分析与挖掘(pdf+epub+mobi+txt+azw3)...
weixin_39808893的博客
11-22 535
第3章Python快速入门本章重点介绍有关Python的基础知识,这是每一个Python用户所要走过的必经之路,因为任何一段Python代码中都会包含一些基础知识。对于读者来说,只有基础夯实牢了,在之后的代码编程中才会轻松自如。如果你是从零开始Python用户,希望能够认真学完本章的Python入门基础知识,相信本章内容对你将有很大的帮助;如果你是Python的中级或高级用户,通过本章内容的阅读...
从零开始python数据分析与挖掘(第2版)_数据分析学习资料《利用Python进行数据分析第2版》+《Python数据分析与挖掘实战》+《从零开始Python数据分析与挖掘》...
weixin_39786141的博客
12-03 1711
数据分析涉及统计学、线性代数、图形分析绘制、数据挖掘等知识,推荐系统学习电子资料《利用Python进行数据分析第2版》、《Python数据分析与挖掘实战》、《从零开始Python数据分析与挖掘》电子书和代码测试。《利用Python进行数据分析第2版》电子书代码,每一章之间有递进关系,适合在Python入门Python编程从入门到实践》电子书之后阅读,本专门针对数据分析领域的。我细致地读了一遍,...
从零开始Python第一Python程序
xx16755498979的博客
03-27 1528
下面我们为大家解几种可以编写和运行 Python 代码的工具,大家可以根据自己的需求来选择合适的工具。当然,对于初学者,我个人比较推荐使用 PyCharm,因为它不需要太多的配置也非常的强大,对新手还是很友好的。
Python零基础入门-1 从一行代码开始运行Python程序
一只大鸽子的博客
05-14 1920
从一行代码开始运行Python程序,快速了解如何运行Python程序。
零基础入门学习Python_零基础入门学习Python_小甲鱼_
10-02
本书《零基础入门学习Python》将带你逐步了解编程世界,从安装Python环境开始,包括如何下载Python解释器,设置环境变量,以及使用IDLE等集成开发环境。接下来,你将学习Python的基础语法,如变量、数据类型(整型、...
从零开始Python数据分析与挖掘
08-05
本教程"从零开始Python数据分析与挖掘"将带你逐步走进这个精彩的世界。 首先,Python快速入门部分将帮助初学者熟悉Python的基础语法,包括变量、数据类型、控制结构(如if语句和循环)、函数定义和调用、模块导入...
python从零开始(1)
01-06
本系列一方面是为了让自己对python的理解更加深,另一方面是为了让刚刚入门python的小伙伴们互相交流 第一节:认识python 万千语言,从”Helloworld”说起 O(∩_∩)O哈哈~ 相信很多学习编程的入门学的就是怎么打印”...
零基础Python入门--课件代码下载1-1_python入门_
09-29
本课程的“零基础Python入门”旨在帮助完全不懂编程的人快速掌握Python的基本概念和语法。 首先,我们从“lect05_52周存钱挑战”开始。这个例子涉及到的是Python中的循环和条件语句。在52周存钱挑战中,每周存入...
pandas中数据子集的获取
weixin_43597208的博客
10-14 562
通常,在pandas模块中实现数据框子集的获取可以使用iloc、loc和ix三种方法,这三种方法既可以对数据行进行筛选,也可以实现变量的筛选,它们的语法可以表示成[rows_select,cols_select]。iloc只能通过行号和列号进行数据的筛选,可以将iloc中的i理解为’integer’,即只能向[rows_select,cols_select]指定整数列表该索引方式与数组的索引方式类似,都是从0开始,可以间隔取号,对于切片仍然无法取到上限。
Python编程实例-猜数字游戏
视觉与物联智能
10-17 159
每个人都喜欢玩游戏。数字游戏既有趣又对大脑活动有益。在本文中,我们将使用Python创建一个有趣的数字猜谜游戏
Debian 11 裸机初始化与环境配置指南
最新发布
weixin_43744732的博客
10-21 228
Debian 11 裸机初始化与环境配置指南
【Java 22 | 8】 深入解析Java 22 :Pattern Matching 特性详解
颜淡慕潇
10-17 6024
Java 22 进一步扩展了模式匹配(Pattern Matching)功能,简化了类型检查和条件表达式的使用。此特性不仅提升了代码的可读性,还减少了常见的错误。以下是对 Java 22 中模式匹配的详细介绍,包括基础概念、增强特性、使用场景、示例代码,以及如何在实际项目中有效利用模式匹配
Python入门从零开始学习Python编程
安装Python开发环境是学习Python第一步。你可以访问Python官方网站(www.python.org)下载最新版本的Python软件。安装过程中,记得勾选“Add Python 3.X to Path”选项,以便在命令行中可以直接使用Python。如果你...
写文章

热门文章

  • Python制作【大麦网】自动抢票程序_python大麦抢票 14923
  • 2023年副业收入!这是我看到的最好的一篇介绍网络兼职的文章 4767
  • 史上最全的Python兼职接单挣钱教程,十分详细(附基础教程) 4442
  • Python 3.12.0 软件安装包下载及安装教程 2942
  • 程序员必备的15个接单平台,拥有即获得“钞能力”! 2853

最新评论

  • 史上最全的Python兼职接单挣钱教程,十分详细(附基础教程)

    阿J~: 不错不错!反手就是一个赞,欢迎回评哦~

  • Python案例分析,streamlit模块,Python制作销售数据可视化看板

    无聊的一: 这个excel怎么获取

  • Python制作【大麦网】自动抢票程序_python大麦抢票

    北殉: 现在大麦pc端不给抢了吧,而且运行不起来哎 有没有最新的代码分享一下呗 大佬

  • Python制作【大麦网】自动抢票程序_python大麦抢票

    w030424: 大佬搞个新的给兄弟们用用表情包

  • Python制作【大麦网】自动抢票程序_python大麦抢票

    50W程序员都在看: 又是从哪复制粘贴过来的,代码都是老代码不能用,不是最新的

大家在看

  • 帝国CMS – AutoTitlePic 自动生成文章标题图片插件
  • 蜘蛛日志在线分析工具源码 快速分析搜索引擎网络爬虫抓取记录 552
  • 帝国CMS7.0 7.2 7.5微信登录插件

最新文章

  • 人工智能产品经理能力模型
  • AI产品经理从入门到精通(知识体系非常详细)看这一篇就够了!!!
  • 一行代码训练成本再降30%,AI大模型混合精度训练再升级|开源
2024
09月 7篇
05月 15篇
04月 45篇
03月 46篇
02月 29篇
01月 18篇
2023年45篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

玻璃钢生产厂家辽宁玻璃钢公园雕塑晋城玻璃钢雕塑广州玻璃钢雕塑大全陕西玻璃钢雕塑订购玻璃钢雕塑版权湛江玻璃钢女神人物雕塑门头玻璃钢雕塑单价商场开幕美陈是什么投标书玻璃钢雪糕雕塑珠海定制玻璃钢动物雕塑贵州学校玻璃钢动物雕塑小品制作光明玻璃钢雕塑批发厂家广州商场美陈厂家直销亳州小品系列玻璃钢雕塑厂家长乐玻璃钢神像雕塑青岛玻璃钢雕塑公司广州玻璃钢雕塑厂家现货张掖彩色玻璃钢雕塑定做重庆 玻璃钢仿铜雕塑商场新美陈上线文案海南玻璃钢雕塑厂家欢迎来电江苏艺术商场美陈市场价沈阳那有卖玻璃钢花盆长乐玻璃钢卡通人物雕塑丽水多彩玻璃钢雕塑阿坝玻璃钢动物雕塑玻璃钢雕塑订制公司玻璃钢雕塑厂商特供五华区玻璃钢雕塑加工厂大连做商场美陈香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化