猿问
下载APP

请问在python数组要先定义长度吗?

python数组要先定义长度吗


45度呼吸
浏览 164回答 4
4回答

慕莱坞7535251

这个是根据实际情况来决定的,如果你的数组是追加一个元素的可以不用定义长度,如果你初始化一个列表然后要修改其中的值的话,就要定义长度了。 拓展资料Python, 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议。Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。Python具有丰富和强大的库。能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。 

汪汪一只猫

视情况而定如果你的数组是追加一个元素的可以不用定义长度如果你初始化一个列表然后要修改其中的值的话,就要定义长度了。举个例子吧a = []for i in range(10):a.append(i)print ab = [0 for i in range(10)] #也可以b = [0]*10for i in range(10):b[i]=iprint b

芜湖不芜

视情况而定若数组是追加一个元素的可以不用定义长度;若初始化一个列表然后要修改其中的值的话,就要定义长度了。例:拓展资料设计定位Python的设计哲学是“优雅”、“明确”、“简单”。因此,Perl语言中“总是有多种方法来做同一件事”的理念在Python开发者中通常是难以忍受的。Python开发者的哲学是“用一种方法,最好是只有一种方法来做一件事”。在设计Python语言时,如果面临多种选择,Python开发者一般会拒绝花俏的语法,而选择明确的没有或者很少有歧义的语法。由于这种设计观念的差异,Python源代码通常被认为比Perl具备更好的可读性,并且能够支撑大规模的软件开发。这些准则被称为Python格言。在Python解释器内运行import this可以获得完整的列表。Python开发人员尽量避开不成熟或者不重要的优化。一些针对非重要部位的加快运行速度的补丁通常不会被合并到Python内。所以很多人认为Python很慢。不过,根据二八定律,大多数程序对速度要求不高。在某些对运行速度要求很高的情况,Python设计师倾向于使用JIT技术,或者用使用C/C++语言改写这部分程序。可用的JIT技术是PyPy。Python是完全面向对象的语言。函数、模块、数字、字符串都是对象。并且完全支持继承、重载、派生、多继承,有益于增强源代码的复用性。Python支持重载运算符和动态类型。相对于Lisp这种传统的函数式编程语言,Python对函数式设计只提供了有限的支持。有两个标准库(functools, itertools)提供了Haskell和Standard ML中久经考验的函数式程序设计工具。虽然Python可能被粗略地分类为“脚本语言”(script language),但实际上一些大规模软件开发计划例如Zope、Mnet及BitTorrent,Google也广泛地使用它。Python的支持者较喜欢称它为一种高级动态编程语言,原因是“脚本语言”泛指仅作简单程序设计任务的语言,如shellscript、VBScript等只能处理简单任务的编程语言,并不能与Python相提并论。Python本身被设计为可扩充的。并非所有的特性和功能都集成到语言核心。Python提供了丰富的API和工具,以便程序员能够轻松地使用C语言、C++、Cython来编写扩充模块。Python编译器本身也可以被集成到其它需要脚本语言的程序内。因此,很多人还把Python作为一种“胶水语言”(glue language)使用。使用Python将其他语言编写的程序进行集成和封装。在Google内部的很多项目,例如Google Engine使用C++编写性能要求极高的部分,然后用Python或Java/Go调用相应的模块。《Python技术手册》的作者马特利(Alex Martelli)说:“这很难讲,不过,2004 年,Python 已在Google 内部使用,Google 召募许多 Python 高手,但在这之前就已决定使用Python,他们的目的是 Python where we can, C++ where we must,在操控硬件的场合使用 C++,在快速开发时候使用 Python。”

素胚勾勒不出你

(1)没有分清字符串和字符数组的区别: char* a="abcde";定义的是个字符串,它是一个占用了6个字节的字符串,其中前面5个保存:abcde,最后一个是\0(编译器自动加的);char str1[80]="This is a "定义了一个字符数组,可以保存80个字符,编译器不会加\0;你需要在后面手工加上; (2)没有分清函数定义和调用函数的区别: char *stract(str1,str2);这是定义了一个函数,这个函数的名称和系统的函数名称strcat刚好一样,不是调用函数;这个函数需要你自己去实现,你这里没有实现; stract(str1,str2)是调用函数strcat,编译器会按照你定义的头文件顺序去找; 由于你定义了str1和str2长度为80,因此后面的存储区均是0,因此,显示结果没有问题,如果你将str2长度定义为9个(你的后面字符串的长度,你就会发先第一个显示结果会降str1也打印出来,原因是你没有给str2加上\0;建议你注意这个问题,这就是臭名昭著的缓冲区溢出漏洞的来源之一。 你由于仅仅是定义了strcat函数,因此你的输出仍然是str1
打开App,查看更多内容
随时随地看视频慕课网APP
我要回答