Python论坛  - 讨论区

标题:[python-chinese] 问个无聊的问题:为什么python里的方法名变量名喜欢用这么多的下划线呢?

2006年05月14日 星期日 15:02

Cyril_Gmail terry6394 at gmail.com
Sun May 14 15:02:45 HKT 2006

问个无聊的问题:为什么python里的方法名变量名喜欢用这么多的下划线呢
-- 
编译人生!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060514/9e7e298e/attachment.html

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年05月14日 星期日 15:34

Black Sands ( Li Ying Min ) fred.li.1979.m.bj.prc at gmail.com
Sun May 14 15:34:35 HKT 2006

命名约定
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060514/2389819b/attachment.htm

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年05月14日 星期日 16:02

swordsp sparas2006 at gmail.com
Sun May 14 16:02:07 HKT 2006

一种命名风格而已,总不能连起来写吧,那多难看啊。
c程序员多用下划线分隔(lower_case_with_under_score),java
程序员多用每部分首字母大写间隔(CapitalizedWords),python程序员自然跟着c多些。

btw,命名风格可不是无聊的问题,现在python社区的趋势是向PEP8(
http://www.python.org/dev/peps/pep-0008/ )统一,有些成熟的项目甚至都为此改变了api。
这里面对大小写问题的说法大概是这样的:
1. module和package 的名字全小写无分隔符
2. class名字每部分首字母大写分隔
3. 变量和函数的名字尽量用全小写和下划线分隔


On 5/14/06, Cyril_Gmail <terry6394 at gmail.com> wrote:
>
>
> 问个无聊的问题:为什么python里的方法名变量名喜欢用这么多的下划线呢
> --
> 编译人生!
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060514/fe0fff3b/attachment.html

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年05月14日 星期日 16:35

William Xu william.xwl at gmail.com
Sun May 14 16:35:57 HKT 2006

swordsp <sparas2006 at gmail.com> writes:

> 一种命名风格而已,总不能连起来写吧,那多难看啊。c程序员多用下划线分隔
> (lower_case_with_under_score),java 程序员多用每部分首字母大写间隔
> (CapitalizedWords),python程序员自然跟着c多些。
>
> btw,命名风格可不是无聊的问题,现在python社区的趋势是向PEP8(
> http://www.python.org/dev/peps/pep-0008/ )统一,

喔,这个讲得好细致。。。

-- 
William

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年05月14日 星期日 19:19

Batfree batfreelist at gmail.com
Sun May 14 19:19:55 HKT 2006

我觉得java风格的比较爽,看起来也方便。呵呵,毕竟我也从java而来的。

On 5/14/06, William Xu <william.xwl at gmail.com> wrote:
> swordsp <sparas2006 at gmail.com> writes:
>
> > 一种命名风格而已,总不能连起来写吧,那多难看啊。c程序员多用下划线分隔
> > (lower_case_with_under_score),java 程序员多用每部分首字母大写间隔
> > (CapitalizedWords),python程序员自然跟着c多些。
> >
> > btw,命名风格可不是无聊的问题,现在python社区的趋势是向PEP8(
> > http://www.python.org/dev/peps/pep-0008/ )统一,
>
> 喔,这个讲得好细致。。。
>
> --
> William
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
>


-- 
I am thinking!

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年05月15日 星期一 11:44

jzx++ jzx19770812 at yahoo.com.cn
Mon May 15 11:44:18 HKT 2006

我感觉python里面体现着很多黑客的文化,基本上就是随心所欲的自由自在,说句不
好听的就是杂乱无章,这点也体现在命名上
-- 
jzx <jzx19770812 at yahoo.com.cn>



[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年05月15日 星期一 13:39

Yin Desheng dsyin.cool at gmail.com
Mon May 15 13:39:58 HKT 2006

举个例子?

在06-5-15,jzx++ <jzx19770812 at yahoo.com.cn> 写道:
>
>
> 我感觉python里面体现着很多黑客的文化,基本上就是随心所欲的自由自在,说句不
> 好听的就是杂乱无章,这点也体现在命名上
> --
> jzx <jzx19770812 at yahoo.com.cn>
>
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060515/cc9b4fa9/attachment.html

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年05月15日 星期一 14:02

Cyril_Gmail terry6394 at gmail.com
Mon May 15 14:02:20 HKT 2006

我学JAVA得,所以总是不习惯。。。:)

On 5/14/06, swordsp <sparas2006 at gmail.com> wrote:
>
> 一种命名风格而已,总不能连起来写吧,那多难看啊。
> c程序员多用下划线分隔(lower_case_with_under_score),java
> 程序员多用每部分首字母大写间隔(CapitalizedWords),python程序员自然跟着c多些。
>
> btw,命名风格可不是无聊的问题,现在python社区的趋势是向PEP8(
> http://www.python.org/dev/peps/pep-0008/ )统一,有些成熟的项目甚至都为此改变了api。
> 这里面对大小写问题的说法大概是这样的:
> 1. module和package 的名字全小写无分隔符
> 2. class名字每部分首字母大写分隔
> 3. 变量和函数的名字尽量用全小写和下划线分隔
>
>
> On 5/14/06, Cyril_Gmail <terry6394 at gmail.com> wrote:
> >
> >
> > 问个无聊的问题:为什么python里的方法名变量名喜欢用这么多的下划线呢
> > --
> > 编译人生!
> >
> > _______________________________________________
> > python-chinese
> > Post: send python-chinese at lists.python.cn
> > Subscribe: send subscribe to python-chinese-request at lists.python.cn
> > Unsubscribe: send unsubscribe to
> > python-chinese-request at lists.python.cn
> > Detail Info: http://python.cn/mailman/listinfo/python-chinese
> >
> >
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
>


-- 
编译人生!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060515/1fee22fe/attachment.html

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年05月15日 星期一 14:23

swordsp sparas2006 at gmail.com
Mon May 15 14:23:36 HKT 2006

不同意,perl才是这样。
我觉得python在自由精神之外,其实是很有学院气息的,包括Guido本人都给我这个印象。
python的风格一向也是提倡整洁和可读性的,比起perl(甚至ruby)来说,也更为统一。
前段时间Django和Rails的创始人聊的时候还特别提到了这个问题。

On 5/15/06, jzx++ <jzx19770812 at yahoo.com.cn> wrote:
>
>
> 我感觉python里面体现着很多黑客的文化,基本上就是随心所欲的自由自在,说句不
> 好听的就是杂乱无章,这点也体现在命名上
> --
> jzx <jzx19770812 at yahoo.com.cn>
>
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060515/56a9d03b/attachment.html

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年05月15日 星期一 14:25

swordsp sparas2006 at gmail.com
Mon May 15 14:25:12 HKT 2006

自己的程序不一定需要按照别人的风格,但关键是合作开发的时候一定要风格统一。
PEP8里也强调了很多时候为了已经存在的代码上下文是可以变通的。

On 5/15/06, Cyril_Gmail <terry6394 at gmail.com> wrote:
>
> 我学JAVA得,所以总是不习惯。。。:)
>
>
> On 5/14/06, swordsp <sparas2006 at gmail.com> wrote:
> >
> > 一种命名风格而已,总不能连起来写吧,那多难看啊。
> > c程序员多用下划线分隔(lower_case_with_under_score),java
> > 程序员多用每部分首字母大写间隔(CapitalizedWords),python程序员自然跟着c多些。
> >
> > btw,命名风格可不是无聊的问题,现在python社区的趋势是向PEP8(
> > http://www.python.org/dev/peps/pep-0008/ )统一,有些成熟的项目甚至都为此改变了api。
> > 这里面对大小写问题的说法大概是这样的:
> > 1. module和package 的名字全小写无分隔符
> > 2. class名字每部分首字母大写分隔
> > 3. 变量和函数的名字尽量用全小写和下划线分隔
> >
> >
> > On 5/14/06, Cyril_Gmail <terry6394 at gmail.com> wrote:
> > >
> > >
> > > 问个无聊的问题:为什么python里的方法名变量名喜欢用这么多的下划线呢
> > > --
> > > 编译人生!
> > >
> > > _______________________________________________
> > > python-chinese
> > > Post: send python-chinese at lists.python.cn
> > > Subscribe: send subscribe to python-chinese-request at lists.python.cn
> > > Unsubscribe: send unsubscribe to
> > > python-chinese-request at lists.python.cn
> > > Detail Info: http://python.cn/mailman/listinfo/python-chinese
> > >
> > >
> >
> > _______________________________________________
> > python-chinese
> > Post: send python-chinese at lists.python.cn
> > Subscribe: send subscribe to python-chinese-request at lists.python.cn
> > Unsubscribe: send unsubscribe to
> > python-chinese-request at lists.python.cn
> > Detail Info: http://python.cn/mailman/listinfo/python-chinese
> >
> >
>
>
> --
> 编译人生!
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060515/7f9c5caa/attachment.htm

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年05月15日 星期一 14:29

xxmplus xxmplus at gmail.com
Mon May 15 14:29:48 HKT 2006

用下划线也不是没道理的,c里面没有namespace,当要套一个cpp的wrapper时,大多数名字只要把下划线换成相应的::就可以了,比如gtk+到gtkmm。不用java的命名约定我想是因为c里面一般不在变量名上用大写吧

在 06-5-15,swordsp<sparas2006 at gmail.com> 写道:
> 不同意,perl才是这样。
> 我觉得python在自由精神之外,其实是很有学院气息的,包括Guido本人都给我这个印象。
> python的风格一向也是提倡整洁和可读性的,比起perl(甚至ruby)来说,也更为统一。
> 前段时间Django和Rails的创始人聊的时候还特别提到了这个问题。
>
>
> On 5/15/06, jzx++ <jzx19770812 at yahoo.com.cn> wrote:
> >
> > 我感觉python里面体现着很多黑客的文化,基本上就是随心所欲的自由自在,说句不
> > 好听的就是杂乱无章,这点也体现在命名上
> > --
> > jzx <jzx19770812 at yahoo.com.cn>
> >
> >
> > _______________________________________________
> > python-chinese
> > Post: send python-chinese at lists.python.cn
> > Subscribe: send subscribe to
> python-chinese-request at lists.python.cn
> > Unsubscribe: send unsubscribe to
> python-chinese-request at lists.python.cn
> > Detail Info:
> http://python.cn/mailman/listinfo/python-chinese
> >
>
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to
> python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to
> python-chinese-request at lists.python.cn
> Detail Info:
> http://python.cn/mailman/listinfo/python-chinese
>
>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年05月15日 星期一 22:15

黄叶 hylinux at gmail.com
Mon May 15 22:15:28 HKT 2006

命名风格的问题,我觉得没有什么好谈的。
自己喜欢什么样的就什么样的。

当然如果是团队开发,那就要注意一些。
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060515/ce67881d/attachment.htm

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年05月15日 星期一 22:38

Batfree batfreelist at gmail.com
Mon May 15 22:38:47 HKT 2006

我个人觉得java风格不错,我实在不是很习惯输入下划线。对于除字母键之外的键位输入的时候总觉得不够方便。Java风格的最大程度的利用了字母键。

On 5/15/06, 黄叶 <hylinux at gmail.com> wrote:
> 命名风格的问题,我觉得没有什么好谈的。
> 自己喜欢什么样的就什么样的。
>
> 当然如果是团队开发,那就要注意一些。
>
>
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to
> python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to
> python-chinese-request at lists.python.cn
> Detail Info:
> http://python.cn/mailman/listinfo/python-chinese
>
>


-- 
I am thinking!

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年05月17日 星期三 11:26

ar. cr..... arcr.gg at gmail.com
Wed May 17 11:26:45 HKT 2006

象__main__,__doc__ 我个人认为:

这么多下划线告诉程序员这些变量有别于自己定义的用户变量(__doc__和 doc 看起来不一样吧),另外这些变量都是内部变量,

系统使用的内部变量用2个_,

自己定义的类的内部变量用1个_.



On 5/15/06, Batfree <batfreelist at gmail.com> wrote:
>
> 我个人觉得java风格不错,我实在不是很习惯输入下划线。对于除字母键之外的键位输入的时候总觉得不够方便。Java风格的最大程度的利用了字母键。
>
> On 5/15/06, 黄叶 < hylinux at gmail.com> wrote:
> > 命名风格的问题,我觉得没有什么好谈的。
> > 自己喜欢什么样的就什么样的。
> >
> > 当然如果是团队开发,那就要注意一些。
> >
> >
> >
> > _______________________________________________
> > python-chinese
> > Post: send python-chinese at lists.python.cn
> > Subscribe: send subscribe to
> > python-chinese-request at lists.python.cn
> > Unsubscribe: send unsubscribe to
> > python-chinese-request at lists.python.cn
> > Detail Info:
> > http://python.cn/mailman/listinfo/python-chinese
> >
> >
>
>
> --
> I am thinking!
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to   python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060517/ef12ec0d/attachment-0001.htm

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年05月17日 星期三 15:25

gashero harry.python at gmail.com
Wed May 17 15:25:53 HKT 2006

下划线的分隔方式是按照GNU命名规则的,不是胡乱使用的。而Java的命名方式已经深深的嵌入到了编译器当中。

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年05月17日 星期三 15:38

snlee snlee99 at tom.com
Wed May 17 15:38:47 HKT 2006

gashero  writes:



> 而Java的命名方式已经深深的嵌入到了编译器当中。



这句怎么理解?



[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年05月17日 星期三 16:13

Vincent Wen vincentwen at gmail.com
Wed May 17 16:13:44 HKT 2006

下划线是典型的UNIX C风格,历史太悠久了

曾经听过一个说法,C/C++程序员会很容易喜欢python,而java程序员相反,看来还是有些道理的

On 5/17/06, gashero <harry.python at gmail.com> wrote:
> 下划线的分隔方式是按照GNU命名规则的,不是胡乱使用的。而Java的命名方式已经深深的嵌入到了编译器当中。
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年05月17日 星期三 16:14

yi feng yi2369 at gmail.com
Wed May 17 16:14:38 HKT 2006

不记得是在哪一本书上看得了。
方法、变量的命名规则里规定:
命名必须由字母、数字、下划线组成,而且数字不能作为开头字母。

就我个人目前接触到的语言基本都遵循这个规则,
现在有一些语言允许使用非ansi字符命名,都是靠编译器支持的;比如C#,易语言,好像Ruby也支持的。

新人:随风飞
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060517/82ef9163/attachment.html

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年05月17日 星期三 16:55

gashero harry.python at gmail.com
Wed May 17 16:55:03 HKT 2006

你看看JSP等等J2EE的实现就知道了,setter和getter必须按照指定的方式命名,否则就是无法访问。我的说法也有些问题,应该说是一些具体技术的解释引擎。呵呵。另外我对J2EE不了解,随便说说,不要那么认真么。

在 06-5-17,snlee<snlee99 at tom.com> 写道:
> gashero  writes:
>
>
>
> > 而Java的命名方式已经深深的嵌入到了编译器当中。
>
>
>
> 这句怎么理解?
>
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年05月17日 星期三 21:34

swordsp sparas2006 at gmail.com
Wed May 17 21:34:55 HKT 2006

还有javascript,在某网站的投票中,著名的$()可是最常用的javascript函数。

On 5/17/06, yi feng <yi2369 at gmail.com> wrote:
>
> 不记得是在哪一本书上看得了。
> 方法、变量的命名规则里规定:
> 命名必须由字母、数字、下划线组成,而且数字不能作为开头字母。
>
> 就我个人目前接触到的语言基本都遵循这个规则,
> 现在有一些语言允许使用非ansi字符命名,都是靠编译器支持的;比如C#,易语言,好像Ruby也支持的。
>
> 新人:随风飞
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060517/73f4dfb7/attachment.html

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年05月17日 星期三 21:57

swordsp sparas2006 at gmail.com
Wed May 17 21:57:16 HKT 2006

命名约定终归是类库的事,和语言本身没多大关系。
所谓的"解释引擎"无非是一些标准或者不标准的类库,java世界只不过标准特别的多罢了。
"引擎"这样的词有点...奇怪。

而且除了getter、setter也就没什么了吧,java一向提倡"可配置性",ruby on rails才真叫充分利用约定。

On 5/17/06, gashero <harry.python at gmail.com> wrote:
>
>
> 你看看JSP等等J2EE的实现就知道了,setter和getter必须按照指定的方式命名,否则就是无法访问。我的说法也有些问题,应该说是一些具体技术的解释引擎。呵呵。另外我对J2EE不了解,随便说说,不要那么认真么。
>
> 在 06-5-17,snlee<snlee99 at tom.com> 写道:
> > gashero  writes:
> >
> >
> >
> > > 而Java的命名方式已经深深的嵌入到了编译器当中。
> >
> >
> >
> > 这句怎么理解?
> >
> >
> > _______________________________________________
> > python-chinese
> > Post: send python-chinese at lists.python.cn
> > Subscribe: send subscribe to python-chinese-request at lists.python.cn
> > Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> > Detail Info: http://python.cn/mailman/listinfo/python-chinese
> >
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060517/13ec1cb1/attachment-0001.htm

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号