Python学习笔记-第七天

** 全局变量定义 **
globvar = 0


def set_globvar_to_one():
    global globvar    # Needed to modify global copy of globvar
    globvar = 1


def print_globvar():
    print(globvar)     # No need for global declaration to read value of globvar


set_globvar_to_one()
print_globvar()       # Prints 1
** python unit test **
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import unittest
from . import Cat


class TestSequenceFunctions(unittest.TestCase):

    def test_choice(self):
        self.assertEqual('running', Cat().run())


if __name__ == '__main__':
    unittest.main()
** main函数 **
if __name__ == '__main__':
    print 'aaa'
** 文章字符串注释 **
"""
三重双引号
"""
应该避免的名称

- 单字符名称, 除了计数器和迭代器.
- 包/模块名中的连字符(-)
- 双下划线开头并结尾的名称(Python保留, 例如__init__)

命名约定

- 所谓”内部(Internal)”表示仅模块内可用, 或者, 在类内是保护或私有的.
- 用单下划线(_)开头表示模块变量或函数是protected的(使用import * from时不会包含).
- 用双下划线(__)开头的实例变量或方法表示类内私有.
- 将相关的类和顶级函数放在同一个模块里. 不像Java, 没必要限制一个类一个模块.
- 对类名使用大写字母开头的单词(如CapWords, 即Pascal风格), 但是模块名应该用小写加下划线的方式(如lower_with_under.py). 尽管已经有很多现存的模块使用类似于CapWords.py这样的命名, 但现在已经不鼓励这样做, 因为如果模块名碰巧和类名一致, 这会让人困扰.
导入总应该放在文件顶部, 位于模块注释和文档字符串之后, 模块全局变量和常量之前. 导入应该按照从最通用到最不通用的顺序分组:

- 标准库导入
- 第三方库导入
- 应用程序指定导入

每种分组中, 应该根据每个模块的完整包路径按字典序排序, 忽略大小写.

import foo
from foo import bar
from foo.bar import baz
from foo.bar import Quux
from Foob import ar
#!/usr/bin/env python
# -*- coding: utf-8 -*-

'Python中对类的命名使用驼峰命名法,对其他类型则是下划线进行分割'


class ClassStudent(object):
    def __init__(self, name, score):
        self.__name = name
        self.__score = score

    def print_score(self):
        print 'name : %s score : %s' % (self.__name, self.__score)

    def get_score(self):
        print self.__score


li = ClassStudent('li', 33)
# li.__score 报错
# li._ClassStudent__score 不建议使用,python没有强制的权限控制,需要靠自己自觉
li.get_score()
li.print_score()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 啥是函数?啥是方法? 方法是一种特殊的函数。 python中,函数(方法)(Method)并不是依附与类才能存在。...
    Jaesoon阅读 1,222评论 0 0
  • 列表 序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,...
    Jaesoon阅读 1,677评论 0 0
  • 同一服务器跑Python不同版本 同一个服务器跑的ruby on rails 这个是在同一个服务器跑nodejs这...
    hanglove阅读 2,622评论 0 0
  • 模块 模块基本上是一个包含所有你定义的函数和变量的文件,为了在其他程序中重用模块,模块的文件名以.py为扩展名。模...
    敏儿最棒阅读 1,287评论 0 0
  • 七夕又来了。群里的男孩女孩都在热烈的讨论着如何向TA表白,可是有些还没有十足把握的,还是不敢开口。那么我教你以下几...
    一溪风月阅读 1,488评论 8 6