首页 文章 精选 留言 我的

精选列表

搜索[基础搭建],共10000篇文章
优秀的个人博客,低调大师

函数第三部分:学了不等于要用的全局变量-Python基础前传(12)

(一)局部变量 什么是局部变量 局部变量是只能在函数里面用,出去就不能用了,请看下面的例子: def func1(): a = 123print(a) 这里的变量a就是局部变量,这个局部变量只能在当前的函数体里来用,在其他的地方就用不了了;正因为它是局部变量,所以下面的代码一定是没有输出结果的: def func1(): a = 123print(a)print(a) (二)什么是全局变量 下面例子中的p就叫做全局变量,请大家体会一下: p = "zhuyuanlu"def func1(): a = 123print(p)print(a) func1()>>> zhuyuanlu>>> 123 前面我们看到,全局变量是可以在函数体里调用的,那问题来了,我们能不能在函数体里修改全局变量吗? p = "zhuyuanlu"def func1(): a = 123 p = "jacky"print(a)def func2(): a = 456print(p)print(a) func1() func2()>>> 123>>> zhuyuanlu>>> 456 上面的代码案例说明:我们是不能在局部变量里修改全局变量的,那我们如果一定要修改,就加上我们的关键字global p = "zhuyuanlu"def func1(): a = 123global p p = "jacky"print(a)def func2(): a = 456print(p)print(a) func1() func2()>>> 123>>> jacky>>> 456 (三)关于全局变量的书写规范 全局变量都大写,局部变量都小写 这样的规范写法,以后看你代码的人就都能看懂 关于理解局部变量和全局变量的一些底层原理 在函数里边定义的参数以及变量,都称为局部变量,除了这个函数,这些变量都是无效的。事实上的原理是,Python在运行函数的时候,利用栈(Stack)进行存储,当执行完该函数后,函数中的所有数据都会被自动删除。所以在函数外边是无法访问到函数内部的局部变量的。 尽管我们使用global关键字可以在函数中去修改这个全局变量,但修改全局变量可能会导致程序可读性变差,出现莫名奇妙的BUG,代码的维护成本提高。

优秀的个人博客,低调大师

Python零基础学习代码实践 —— 不使用函数找出三个输入的数中最大的数

第一次写的比较复杂了 #三位数比较大小 num1 = int(input("num1 = ")) num2 = int(input("num2 = ")) num3 = int(input("num3 = ")) if num1 < num2: max = num2 - num3 if max > 0: print("最大的数是", num2) else: print("最大的数是", num3) else: max = num1 - num3 if max > 0: print("最大的数是;", num1) else: print("最大的数是;", num3) 看了视频之后自己又写了一遍 #三位数比较大小 num1 = int(input("num1 = ")) num2 = int(input("num2 = ")) num3 = int(input("num3 = ")) max = num1 if num2 > num1: max = num2 if num3 > max: max = num3 print("最大数为:", max)

优秀的个人博客,低调大师

C语言基础教程之内存管理

本文将讲解 C 中的动态内存管理。C 语言为内存的分配和管理提供了几个函数。这些函数可以在<stdlib.h>头文件中找到。 在内存中动态地分配 num 个长度为 size 的连续空间,并将每一个字节都初始化为 0。所以它的结果是分配了 num*size 个字节长度的内存空间,并且每个字节的值都是0。 该函数释放 address 所指向的内存块,释放的是动态分配的内存空间。 在堆区分配一块指定大小的内存空间,用来存放数据。这块内存空间在函数执行完成后不会被初始化,它们的值是未知的。 void*realloc(void *address,int newsize); 该函数重新分配内存,把内存扩展到newsize。 注意:void * 类型表示未确定类型的指针。C、C++ 规定void* 类型可以通过类型转换强制转换为任何其它类型的指针。 编程时,如果您预先知道数组的大小,那么定义数组时就比较容易。例如,一个存储人名的数组,它最多容纳 100 个字符,所以您可以定义数组,如:char name[100]; 小编给大家推荐一个学习氛围超好的地方,C/C++交流企鹅裙:870963251!适合在校大学生,小白,想转行,想通过这个找工作的加入。裙里有大量学习资料,有大神解答交流问题,每晚都有免费的直播课程 但是,如果您预先不知道需要存储的文本长度,例如您向存储有关一个主题的详细描述。在这里,我们需要定义一个指针,该指针指向未定义所需内存大小的字符,后续再根据需求来分配内存,如下所示: 上面的程序也可以使用calloc来编写,只需要把 malloc 替换为 calloc 即可,如下所示: calloc(200,sizeof(char)); 当动态分配内存时,您有完全控制权,可以传递任何大小的值。而那些预先定义了大小的数组,一旦定义则无法改变大小。 当程序退出时,操作系统会自动释放所有分配给程序的内存,但是,建议您在不需要内存时,都应该调用函数free来释放内存。 或者,您可以通过调用函数realloc来增加或减少已分配的内存块的大小。让我们使用realloc和 free 函数,再次查看上面的实例: 您可以尝试一下不重新分配额外的内存,strcat 函数会生成一个错误,因为存储description时可用的内存不足。

优秀的个人博客,低调大师

开发者论坛一周精粹(第三十五期) 阿里云服务器零基础

开发者论坛每周选取精华内容总结,精选论坛优质贴,每周更新一期,方便大家阅读! 【漏洞公告】微软“周二补丁日”—2018年03月 正禾http://bbs.aliyun.com/read/576699.html阿里云降配功能的费用计算方式有严重的问题,简直霸王条款 吴语http://bbs.aliyun.com/read/576695.html数据误删除,阿里云没有备份恢复方案吗 kworhttp://bbs.aliyun.com/read/576672.html【安全漏洞公告】CVE-2017-16995: Ubuntu/Debian 内核本地提权漏洞 正禾http://bbs.aliyun.com/read/576729.html请教:我自己的 ECS 服务器能否把别人网站放上来? joomlagatehttp://bbs.aliyun.com/read/576659.html云翼计划9.9无法购买? 夜后思明http://bbs.aliyun.com/read/576708.html实在忍无可忍,今天就来吐槽下阿里云绿网,这产品误报率高达90% 搜搜吧http://bbs.aliyun.com/read/576662.html买了个ecs,不知道从哪里下手! klalahttp://bbs.aliyun.com/read/576724.html一个ECS云服务器可以弄两个不同域名的网站吗? 锋子http://bbs.aliyun.com/read/576725.htmlecs服务器使用问题 道翎http://bbs.aliyun.com/read/576722.html轻量级服务器怎么用? 哈喽__http://bbs.aliyun.com/read/576732.html工单 响应时间是多久,没有一个标准嘛? sgfhttp://bbs.aliyun.com/read/576687.html一个SLB下可以同时包含VPC的ECS和 经典网络下ECS吗? 月亮晶莹88http://bbs.aliyun.com/read/576663.html咋回事?域名冲突,该域名在备案信息库中已存在,请核实后再次报备。 我只是新手http://bbs.aliyun.com/read/576717.html 开发者论坛一周精粹最近5期↓↓↓ 论坛一周精粹(第三十期)>Https://bbs.aliyun.com/read/575789.html 论坛一周精粹(第三十一期)>Https://bbs.aliyun.com/read/576149.html 论坛一周精粹(第三十二期)>Https://bbs.aliyun.com/read/576574.html 论坛一周精粹(第三十三期)>Https://bbs.aliyun.com/read/576575.html 论坛一周精粹(第三十四期)>Https://bbs.aliyun.com/read/576728.html 开发者论坛一周精粹历史汇总↓↓↓ https://bbs.aliyun.com/read/576572.html

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册