Giter VIP home page Giter VIP logo

python-whydo's People

Contributors

barretlee avatar chinesehuazhou avatar evanhsieh0415 avatar javazeroo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

python-whydo's Issues

为什么 Python 不支持函数重载?

函数重载指的是有多个同名的函数,但是它们的签名或实现有不同。

Python 中使用装饰器(例如 functools 库的 singledispatch),可以实现函数重载的效果。

然而,原生 Python 语法层面不支持函数重载。

初步原因:locals 命名空间中不允许出现同名函数

TODO:语言设计时的考虑?相关历史讨论线索?

有什么东西是Python首创的呢?

例如,条件表达式可能算吧?其它语言将条件放在前面,只有Python把一个值放在前面

例如,任意对象可做真值判断,也可能是首创

为什么会设计出内置函数?

也称为 自由函数
脱离类/对象而存在,与其他面向对象语言的设计不同
过程式编程设计的影响?

1.内置函数/类型,分类讨论,不能一概而论
2.设计来源

java/C# 应该偏向为解释型语言?

Python 为什么没有 main 函数?为什么我不推荐写 main 函数? 中将java/C#归为编译型语言,个人感觉不恰当。这两者跟python一样,都是基于虚拟机的解释型语言。只是C#/java的解析器没python灵活,必须指定一个入口点。

停止旧的问卷调查,使用Issues跟踪和处理问题

在2020年5月“Python为什么”系列开篇之际,我发起过一份问卷调查,意图收集读者们感兴趣的话题。

到此时(2022.12)为止,共有32份问卷。感谢这些读者的反馈!

但是,这些问卷提交的时间跨度太长了(上个月刚好有一份),导致我未能及时查看和响应。另外,由于问卷系统缺乏交互,对于描述不清的内容,我理解不了却无法发起追问。

因此,我决定关闭问卷调查,后续将在 issues 处理相关问题。

读者已提交而未处理的问卷,我将整理后在此跟进处理。如果你曾提交过问卷调查却未有解答,烦请在这里重新提交!

为什么空列表为 false ?

False,None,0,空序列,空字典

1.c语言,0值为假,非0值为真
2.Perl所有空值为假(空字符串,空列表,空哈希),非空值为真
3.Ruby false,nil,0 为假,其它值为真

为什么Python不采用三元运算符设计?

三元运算符格式(也作 三目运算符):
条件表达式?表达式1:表达式2

Python有实现同样效果的条件表达式写法:
表达式1 if 条件表达式 else 表达式2

问题:
为什么不采用“?:”这种语法格式的设计?

已知线索:
条件表达式写法是2.5版本才引入的

help wanted:

  1. 2.5版本引入条件表达式写法时的设计讨论?
  2. 关于两种写法在设计上的权衡取舍、优缺点的讨论(else 可省略)
  3. 其它语言的选择方案比较

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.