第1周-python-任务2-注册和登录-理论基础

python面向过程编程理论基础:

  1. 体系结构
  2. 内置函数
  3. 命名规范
  4. 代码规范

一、体系结构

当前计算机主要是基于冯诺依曼体系结构设计的

冯·诺依曼 体系结构


image.png
![image.png](https://upload-images.jianshu.io/upload_images/9106490-d5bbf9938658c605.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
计算机 python
输入设备 控制台/界面/文件/数据库
存储器 变量(存单个数据,存批量数据)
运算器 运算符(+-*/% 和 ><= 和 与 或非 和 in not in)
控制器 if条件控制,for/while循环控制
输出设备 控制台/文件/数据库
存储器-变量:
用途 类型 举例
存1个数据 数字 20
存1个数据 字符 “果芽软件”
存n个数据 列表 [1,2,3,4,"学校”,"年龄"]
存n对数据 字典 {'姓名': '吴令', '年龄': 31, '性别': '男'}
运算器-运算符:

https://www.runoob.com/python3/python3-basic-operators.html

类型 符号 举例
算术运算符 +-*/% 2+3
比较运算符 > < == != 3<5
逻辑运算符 and or not 10>5 and 10<20
成员运算符 in 和 not in 3 in (1,2,3,4,5)

二、内置函数:

https://www.runoob.com/python3/python3-built-in-functions.html

image.png

常用内置函数

用途 函数名 用途
输入 input() 从控制台读取内容
open() 从文件读取内容
存储 int() 把字符转成数字
str() 把数字转成字符
运算 len() 计算字符串长度
rang() 给出一个数字范围
输出 print() 向控制台输出内容
open() 向文件写入内容

三、命名规范

Python之父Guido推荐的规范

Type Public Internal
文件 Modules lower_with_under _lower_with_under
包 Packages lower_with_under
类变量 Global/Class Variables lower_with_under _lower_with_under
实例变量 Instance Variables lower_with_under _lower_with_under (protected) or __lower_with_under (private)
参数 Function/Method Parameters lower_with_under
Local Variables lower_with_under
方法名 Method Names lower_with_under() _lower_with_under() (protected) or __lower_with_under() (private)
函数 Functions lower_with_under() _lower_with_under()
常量 Global/Class Constants CAPS_WITH_UNDER _CAPS_WITH_UNDER
类 Classes CapWords _CapWords
异常 Exceptions CapWords

总结:

用途 写法
默认 小写+“_”
内部私有 加“_”作前缀
常量 大写+“_”
驼峰命名法

四、代码规范

1、编码

如无特殊情况, 文件一律使用 UTF-8 编码如无特殊情况, 文件头部必须加入标识

# -*- coding:utf-8 -*-

2、注释

2.1、块注释

“#”号后空一格,段落间用空行分开(同样需要“#”号)

# 块注释
# 块注释
#
# 块注释
# 块注释

2.2、行注释

至少使用两个空格和语句分开,注意不要使用无意义的注释

# 正确的写法
x = x + 1  # 边框加粗一个像素

# 不推荐的写法(无意义的注释)
x = x + 1 # x加1

2.3、建议

在代码的关键部分(或比较复杂的地方), 能写注释的要尽量写注释
比较重要的注释段, 使用多个等号隔开, 可以更加醒目, 突出重要性

app = create_app(name, options)

# =====================================
# 请勿在此处添加 get post等app路由行为 !!!
# =====================================

if __name__ == '__main__':
    app.run()


3、代码格式

3.1、缩进

统一使用 4 个空格进行缩进,也就是1个tab制表位

3.2、行宽

每行代码尽量不超过 80 个字符(在特殊情况下可以略微超过 80 ,但最长不得超过 120)

3.3、空行

模块级函数和类定义之间空两行;
类成员函数之间空一行;

class A:

    def __init__(self):
        pass

    def hello(self):
        pass

def main():
    pass   

可以使用多个空行分隔多组相关的函数
函数中可以使用空行分隔出逻辑相关的代码

4、空格

在二元运算符两边各空一格[=,-,+=,==,>,in,is not, and]:

# 正确的写法
i = i + 1
submitted += 1
x = x * 2 - 1
hypot2 = x * x + y * y
c = (a + b) * (a - b)

# 不推荐的写法
i=i+1
submitted +=1
x = x*2 - 1
hypot2 = x*x + y*y
c = (a+b) * (a-b)

函数的参数列表中,,之后要有空格

# 正确的写法
def complex(real, imag):
    pass

# 不推荐的写法
def complex(real,imag):
    pass

函数的参数列表中,默认值等号两边不要添加空格

# 正确的写法
def complex(real, imag=0.0):
    pass

# 不推荐的写法
def complex(real, imag = 0.0):
    pass

左括号之后,右括号之前不要加多余的空格

# 正确的写法
spam(ham[1], {eggs: 2})

# 不推荐的写法
spam( ham[1], { eggs : 2 } )

字典对象的左括号之前不要多余的空格

# 正确的写法
dict['key'] = list[index]

# 不推荐的写法
dict ['key'] = list [index]

不要为对齐赋值语句而使用的额外空格

# 正确的写法
x = 1
y = 2
long_variable = 3

# 不推荐的写法
x             = 1
y             = 2
long_variable = 3

5、换行

Python 支持括号内的换行。这时有两种情况。

if/for/while一定要换行:

# 正确的写法
if foo == 'blah':
    do_blah_thing()

# 不推荐的写法
if foo == 'blah': do_blash_thing()

  1. 第二行缩进到括号的起始处
foo = long_function_name(var_one, var_two,
                         var_three, var_four)
  1. 第二行缩进 4 个空格,适用于起始括号就换行的情形
def long_function_name(
        var_one, var_two, var_three,
        var_four):
    print(var_one)

使用反斜杠\换行,二元运算符+ .等应出现在行末;长字符串也可以用此法换行

session.query(MyTable).\
        filter_by(id=1).\
        one()

print 'Hello, '\
      '%s %s!' %\
      ('Harry', 'Potter')

禁止复合语句,即一行中包含多个语句:

# 正确的写法
do_first()
do_second()
do_third()

# 不推荐的写法
do_first();do_second();do_third();

6、docstring
docstring 的规范中最其本的两点:

所有的公共模块、函数、类、方法,都应该写 docstring 。私有方法不一定需要,但应该在 def 后提供一个块注释来说明。
docstring 的结束"""应该独占一行,除非此 docstring 只有一行。

"""Return a foobar
Optional plotz says to frobnicate the bizbaz first.
"""

"""Oneline docstring"""

3、import 语句

import 语句应该分行书写

# 正确的写法
import os
import sys

# 不推荐的写法
import sys,os

# 正确的写法
from subprocess import Popen, PIPE

import语句应该使用 absolute import

# 正确的写法
from foo.bar import Bar

# 不推荐的写法
from ..bar import Bar

import语句应该放在文件头部,置于模块说明及docstring之后,于全局变量之前;
import语句应该按照顺序排列,每组之间用一个空行分隔

import os
import sys

import msgpack
import zmq

import foo

导入其他模块的类定义时,可以使用相对导入

from myclass import MyClass

如果发生命名冲突,则可使用命名空间

import bar
import foo.bar

bar.Bar()
foo.bar.Bar()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,122评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,070评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,491评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,636评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,676评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,541评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,292评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,211评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,655评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,846评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,965评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,684评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,295评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,894评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,012评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,126评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,914评论 2 355

推荐阅读更多精彩内容