Python 专业问答
386 16最热 | 最新
- 语言有其特征,python是解释型的,解释即可执行。Java是编译型的。因为这区别性的执行形式,所以开发上和性能上有了绝对的区别。一个偏向即时高效率开发,一个偏向保有性能的情况下进行重业务的开发。为什么用c,c++实现是操作系统底层语言和已有特性封装可以随手即用,同时加入设计语言的意义-适应场景和语言基础个性(即自己的特性)。这时再说为什么不直接用,因为底层毕竟底层,虽然功能牛牛,但是使用方便性和内存管理和变量定义上,偏向繁琐和伤脑的情况不可避免,所以为了让实现更迅速和不伤脑的情况(人的趋利避害),也就自然产生这两门有特点和越来越强大,市场选择度的认可。当然不无有类似的语言,但是浪里淘沙,原有的设计理念和形式更被人接受,传播。基本上偏业务和希望高效开发的会选择这两个。
- c或c++并不好用,过于接近底层的特性让开发者可以自由的写出天马行空的代码,但这也意味着责任主要由开发者承担。复杂的特性,抽象的指针类型,内存的分配和释放责任,让维护都变得困难,你必须谨小慎微。而Java等目的很简单,简化语法,干掉可能导致误用的特性,消除开发者承担的责任,让他更专注于业务逻辑,即使可能导致效率下降
- 没有一个真正的高手,推fastapi的都是低端码农;高手都是用tornado
- 我不认为 Python 和 JAVA 算进步,大多比喻不够生动,现在真正高性能的程序还是需要 c++来做,其他 JAVA 和 Python 只是在调库罢了。 但是实际去应用需要优化的地方太多了。
- 举个例子 超市有卖馒头,面条,包子,面包等等,你只要买回来热一热就可以吃了,省事又好吃 问题 为什么不去买面粉自己做呢? 延伸 为什么不自己去众麦子呢? 升仙 为什么不去自己开荒拓土呢? 答案 闲得蛋疼啊,会这会那的谁还搁这干啥,没必要
- 要实现 Python Web 高并发,可以考虑以下几点: 1. 使用高性能的 Web 框架,如 Django、Flask 等,并进行合理的配置。 2. 优化数据库操作,采用合适的索引等。 3. 采用缓存技术,减少重复计算。 4. 使用异步编程,如 asyncio 等,提高并发处理能力。 5. 合理配置服务器资源,如增加内存、CPU 等。 6. 进行压力测试和性能调优,不断优化系统性能。你是在进行相关的开发工作吗?
- c 和c++使用难度太高了,一般很难快速上手。
- 照你这么说直接用汇编好了,越底层自由度越大,但开发成本也越高呀
- 图片中的问题是:“python是用C实现的,Java是用C++实现的,那为什么不直接用C或C++呢?” 1. Python为什么不直接用C - 原因一:开发效率 - Python的设计目标是提高开发效率,它具有简洁、易读的语法。例如,在Python中定义一个简单的函数只需要几行代码: def add_numbers(a, b): return a + b - 而在C语言中,同样的功能需要更多的代码来处理变量声明、内存管理等问题: int add_numbers(int a, int b) { return a + b; } - 原因二:编程难度 - Python是一种动态类型语言,不需要像C那样在编程时声明变量类型。例如,在Python中可以这样写: x = 5 x = "Hello" - 在C语言中,变量类型是固定的,如果要存储不同类型的数据,需要进行类型转换等操作,容易出错。 - 原因三:应用场景 - Python在很多领域如数据科学、机器学习、脚本编写等方面有广泛应用,这些领域更注重快速开发和迭代。例如,使用Python的NumPy库进行数组运算非常方便: import numpy as np a = np.array([1, 2, 3]) b = np.array([4, 5, 6]) c = a + b - 而用C实现类似功能会复杂得多。 2. Java为什么不直接用C++ - 原因一:平台独立性 - Java的一个重要特性是“一次编写,到处运行”,这得益于Java虚拟机(JVM)。Java代码被编译成字节码,可以在任何有JVM的平台上运行。而C++需要针对不同平台进行编译。 - 原因二:内存管理 - Java有自动垃圾回收机制(Garbage Collection),程序员不需要手动管理内存,减少了内存泄漏等问题。例如,在Java中创建对象: class MyClass { int value; } public class Main { public static void main(String[] args) { MyClass obj = new MyClass(); // 不需要手动释放obj的内存,由垃圾回收器处理 } } - 在C++中,需要手动使用 delete 来释放内存,如果忘记释放,就会造成内存泄漏: class MyClass { public: int value; }; int main() { MyClass* obj = new MyClass(); // 使用完后需要手动删除 delete obj; return 0; } - 原因三:面向对象的设计 - Java是一种纯面向对象的语言,所有代码都必须在类中。这使得Java的代码结构更加规范和易于理解。而C++虽然支持面向对象编程,但也支持过程式编程,在大型项目中可能导致代码结构混乱。
- 为了把关注点放到具体业务,而不是去造轮子。
- 因为拉出来的屎放在厕所里是香的
- 这问题也太无聊了,工具的生产是为了便捷