学习 Python 的与众不同之处 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
octopole
V2EX    Python

学习 Python 的与众不同之处

  •  
  •   octopole 2016-06-14 11:07:58 +08:00 4048 次点击
    这是一个创建于 3457 天前的主题,其中的信息可能已经有所发展或是发生改变。

    PS : Python 是一种解释性的脚本语言,它不需要像 C/C++那样先编译在执行,也不像 HTML 、 JS 那样可以在浏览器上直接执行。 Python 与其他高级编程语言有什么不同之处呢?总结了几点,希望对新人的学习能有所帮助:

    第一: Python 的基本语法

    Python 语句的基本规则如下:

    1. 井号( # )之后的字符为注释,注释不会影响代码
    2. 通常一个语句一行
    3. 如果一个语句一行写不下,可以用反斜线( \ )来继续上一行
    4. 分号( ; )可以将两个语句连接在一行中
    5. 冒号( : )讲代码块的头和体分开
    6. 不同的缩进深度分隔不同的代码块
    7. Python 文件以模块的形式组织

    第二:缩进很重要

    Python 跟很多其他的编程语言有许多细节上的区别,可以说是别出心裁,与众不同!当然这里面最重要的就是 Python 的缩进!在 Python 的世界里,缩进的空格数是可变的,但是所有代码块里语句的缩进必须严格一致,否则程序无法执行。

    因为对 Python 来说,缩进是有重要用途的,它是用来标识不同的代码块的,通过不同的缩进来判断代码行之间的关系。缩进多少没有强制要求,但是建议代码上下文都使用一样大小的缩进。

    查看两段代码:

    weight = 60 if weight > 70: print('您已超重') print('科学饮食') print('关爱健康')

    weight = 60 if weight > 70: print('您已超重') print('科学饮食') print('关爱健康')

    他们的输出结果是不同的哦

    第三: Python 的标识符

    标识符是编程时使用的名字。在 Python 中,标识符有几点要素:

    1.第一个字符必须是字母或者下划线 _ ;

    2.标识符的的其他部分必须由数字、字母、下划线组成;

    3.标识符对字母的大小写敏感。

    看看下面哪些标识符是错误的吧。

    s_Num height print 5num

    第一个 s_Num 和第二个 height 是正确的,第三个 print 和第四个 5num 是错误的,第三个的 print 在 Python 里已经被保留为关键字了,不能当做标识符来使用,第四个把数字作为第一个字符也是错误的。

    还有一点需要注意点是,虽然下划线的标识符是合法的,但是双下划线开头的标识符是 Python 内置的一些标识符。 Python 官方推荐永远不要将__file__、__name__ 这样的命名方式应用于自己的变量或函数。

    这些标识符的命名方式在以后自己编写代码的工程中需要养成规范的好习惯,学习好的风格或者形成自己的风格,以后在团队中则需要来适应团队的风格来让沟通更加顺利。

    至于上文提到的 Python 的关键字不能用作常数或变数,或任何其他标识符名称,在我们以后的学习过程中会慢慢接触到一个又一个的关键字,所以现在不用特意去记哦。

    第四: Python 里的引号

    Python 的字符串通常可以用单引号 ' ' 、双引号 " " 、双三引号 """ """或单三引号 ''' ''' 来包围。

    单引号和双引号的使用其实是一样的,而使用三引号('''或""")是可以指定一个多行字符串的哦。

    参考代码:

    a1 = 'hello' a2 = "hello" a3 = '''hello''' a4 = """what a wonderful time! you are learning Python."""

    第五: Python 的注释

    注释是对代码的说明,注释对代码的运行和解释不会造成任何影响,它是来帮助我们来阅读代码的。

    现在我们来认识下 Python 里的注释, Python 里单行内容通常是使用 # 来进行注释的,而多行语句是使用 ''' 或者 """ 来注释的。

    参考代码: ''' 这是一段输出 hello Python 的代码 '''

    print("hello Python") #这是第二个注释

    """ 这是多行注释 这是多行注释 """

    第六: Python 的模块

    每一个 Python 脚本文件都可以被当成是一个模块,当你在一个文件中写了太多功能,或者功能很杂的话,就可以考虑下是否可以把一些功能拿出来,放到另一个模块中。模块的代码可以是一段直接执行的脚本,也可以是一些功能函数。别的模块可以通过 import 来导入这个模块,从而可以使用这个模块里的函数,实现代码的重用。 Python 里有一些自己的模板库,也有一些别人编写的三方模板库,我们都可以拿来使用。

    参考代码:

    #导入 math 模块 math 里实现了一些数学相关的函数 import math x = 4 print(math.factorial(x)) #通过调用 math 模块的 factorial 函数求 x 的阶乘 print(math.sqrt(x)) #通过调用 math 模块的 sqrt 函数求 x 的平方根

    第七: Python 代码风格

    1. 注释。 注释对编写代码的人,以及与你协作的人和还有后来阅读的人都是非常重要的。但是不能过度使用注释,因为注释也需要维护成本。注释最好简洁明了,并且要保证是正确的。

    2.文档 Python 提供了一个文档的机制,可以通过__doc__这个特殊的变量来动态地获取文档字符串。在模板,类的声明,或者函数声明中第一个没有复制的字符串可以用 obj.__doc__来获取文档字符串。一般我们写这个文档是对函数,方法或者模块所实现功能的简单描述。

    3.缩进 Python 的缩进非常重要,你需要让你的缩进都保持一种风格才能让代码更容易被阅读。推荐都使用 4 个空格,或者都使用 Tab ,具体缩进还是看个人习惯。但是不同的平台对 Tab 展开空格的个数的显示效果有差异,使用空格就可以在各个平台下得到一样的效果。

    1. Python 之父 Guido 推荐的命名规范包括如下几点: Python 之父 Guido 推荐的命名规范包括如下几点:
    1. 模块名和包名采用小写字母并且以下划线分隔单词的形式,如 math_algorithm.py
    2. 类名采用以大写字母开头,并且以大写字母分隔单词的形式命名, 如 MathAlgorithm ;
    3. 全局或者类常量,全部使用大写字母,并且以下划线分隔单词;其余变量和函数名命名则是采用全部小写字母,并且以下划线分隔单词的形式命名,如一个常量可以命名为 TODAY_PRICE ,变量则可以命名为 today_price ;
    4. 以上的内容如果是内部的,则使用下划线开头命名,如_today_price 。

    参考代码:

    def get_sum(a , b): '''这个函数用来求 a 和 b 的和,返回 a 和 b 的和''' return a + b print(get_sum.doc)

    终端输出结果会是什么? 答案就是: 这个函数用来求 a 和 b 的和,返回 a 和 b 的和

    octopole
        1
    octopole  
    OP
       2016-06-14 11:09:01 +08:00
    更多知识内容与互动学习,就在码芽网哦~
    KgM4gLtF0shViDH3
        2
    KgM4gLtF0shViDH3  
       2016-06-14 11:25:57 +08:00
    头像不错。
    qq7171891
        3
    qq7171891  
       2016-06-14 11:30:23 +08:00
    这广告我给 0 分,这还有排版缩进吗,什么玩意~
    chunqiuyiyu
        4
    chunqiuyiyu  
       2016-06-14 11:38:25 +08:00
    我只看好头像 另外说一句 能好好排个版吗 别伤害我们大家的眼睛
    Lonely
        5
    Lonely  
       2016-06-14 11:39:45 +08:00 via Android
    这种帖子有啥意义
    cashew
        6
    cashew  
       2016-06-14 11:40:53 +08:00
    好硬的植入。
    xiahei
        7
    xiahei  
       2016-06-14 12:27:54 +08:00
    第一个 Block 敬上。
    likezun
        8
    likezun  
       2016-06-14 13:04:21 +08:00
    小工具而已,不值一提,
    iyaozhen
        9
    iyaozhen  
       2016-06-14 13:24:41 +08:00 via Android
    所以你说这些有什么意义?
    langjiyuan
        10
    langjiyuan  
       2016-06-14 14:13:31 +08:00
    广告 0 分。。。
    zingl
        11
    zingl  
       2016-06-14 15:07:27 +08:00
    PS? WTF? U KNOW ENGLISH?
    3CH0
        12
    3CH0  
       2016-06-14 15:46:23 +08:00
    第二:缩进很重要

    23333333333
    kaiku300
        13
    kaiku300  
       2016-06-14 16:18:04 +08:00
    py3 和 2.x 不一样吧
    octopole
        14
    octopole  
    OP
       2016-06-14 16:21:17 +08:00
    此次打脸,高手见谅,社区的文章编辑和预览无法使用。。。或者说我不会用。。。预览和编辑处理貌似网站有点小问题吧,代码怎么写,都不成段落。。。

    weight = 60
    if weight > 70:
    print('您已超重')
    print('科学饮食')
    print('关爱健康')

    weight = 60
    if weight > 70:
    print('您已超重')
    print('科学饮食')
    print('关爱健康')

    a1 = 'hello'
    a2 = "hello"
    a3 = '''hello'''
    a4 = """what a wonderful time!
    you are learning Python."""

    只有在这里才能好好排版。。。。。
    octopole
        15
    octopole  
    OP
       2016-06-14 16:21:50 +08:00
    这次编程了 特地留了空格 依旧没有缩进 - -。。。。。又要打脸
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4973 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 09:38 PVG 17:38 LAX 01:38 JFK 04:38
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86