Day 4/100:Python的打印和缩进和注释

数据的输入和输出,是计算机最基本的操作。输入操作指的是从键盘上输入数据的操作,而输出是指屏幕上显示的结果。

 

Day 4/100:Python的打印和缩进和注释_第1张图片

 

‍‍‍‍‍基本的输入和输出

 

而在python中,内置的print()函数可以将结果输出到IDLE或者标准控制台上。

print()函数的语法格式如下:

print('输出内容')

其中输出内容可以是数字或者字符串。此类内容可以直接输出。

也可以是包含运算符的表达式,将计算结果输出显示。

例如:

a = 3
b = 4
print(a)
print(b)
print(a*b)
print('hello world')


# 输出 3
# 输出 4
# 输出 12
# 输出 hello world

 

 

 

‍‍‍说明:在python中,一条print()语句输出后会自动换行。如果想要一次输出多个内容而且不换行,可以使用逗号将其隔开。

 

 

例如:

print(a,b,a*b,'你我皆是黑马!')

# 输出 3 4 12 你我皆是黑马!

 

Input()输入函数

 

在python中,使用内置函数input()可以接收用户的键盘输入。

语法格式如下:

接收变量=input(“请输入数据”)

说明:使用input()接收到的值都是被当作字符类型来读取了,即使你输入的是数字。这就要求我们在输入数字的时候需要使用加一个int()函数来做一个类型转换的操作.

接收变量=int(input(请输入数字:))

 

注释

注释是指在代码中对代码功能进行解释说明的标注性文字。作用就是提高代码的可读性。

它不会被python解释器执行,所以也不会在执行结果中体现出来。

 

在python中,一般分为单行注释和多行注释还有一个中文编码声明注释。

 

单行注释

使用’#‘作为单行注释的符号,从符号’#‘开始直到换行为止。

语法格式如下:

#注释内容

 

一般注释的位置可以放在代码的上一行,也可以放在代码的右侧。

例如:

age = int(input())  #年龄必须大于等于18并且小于等于60岁

 

#年龄必须大于等于18并且小于等于60岁
age = int(input())  

 

多行注释

建行包含在一对三引号之内的代码称为多行注释。这样的代码是不管你分为多少行的,所以被称为多行注释!

语法格式如下:

'''
注释内容1
注释内容2
。。。。。。。
注释内容n
'''

多行注释一般用在头部用来给文件条件版权,作者,日期,文件描述等信息。

'''
用户注册模块
开发者: 张三
时间: 20201112
版权: 阿里科技
。。。。。。
'''

也可以在代码中描述重要的函数,参数等信息。便于开发者对代码进行后续的维护。

'''
用户信息函数方法
add()/添加
delete()/删除
update()/修改
inquery()/查询
'''

 

中文编码声明注释

我们在编写代码的时候,如果需要用到指定的字符编码集进行编码的时候,就需要在文件开头加上中文声明注释。防止出现乱码。

语法格式如下:

# _*_  coding:字符编码集 # 

或者

# coding = 字符编码集 

例如使用utf-8作为字符编码格式:

# _*_  coding:utf-8 # 

 

说明:一个优秀的开发者,加注释是必须要做的工作。要保证让人看一就知道你写的这段代码是要实现什么功能的。便于自己后续的理解也便于其他任后续的维护!

 

 

代码缩进

 

python和其他C语言或者Java的区别就在于它不是采用大括号{ }来分割代码块的。而是采用引号和缩进来区分代码之间层次的。

#猜数字游戏
idx = 66
num = int(input('请输入你猜测的数字:'))
if num > idx:
    print('猜大了,请重试')  
elif num < idx:
    print('猜小了,请重试')
else:
    print('congratulation!you are right!')

#输出: 请输入你猜测的数字:66
#       congratulation!you are right!

 

代码缩进有两种方式:

tab键或者4个空格键。python对代码缩进要求是非常严格的。如果你的缩进是三个或者五个都属于不正确的那么就会报错。

#猜数字游戏
idx = 66
num = int(input('请输入你猜测的数字:'))
if num > idx:
    print('猜大了,请重试')  
elif num < idx:
    print('猜小了,请重试')
  else:             # 错误在这里,不正确的缩进
    print('congratulation!you are right!')


#输出:IndentationError: unindent does not match any outer indentation level
#      Process finished with exit code 1

 

编码规范

 

python采用的是PEP8作为编码规范,这里给小伙伴们解释一下什么是PEP8。其实PEP就是Python Enhancement Proposal的缩写,翻译过来就是Python增强建议书。8指的是版本号。下面我们就来看看PEP8中的一些规范。

缩进

  1. 每一级缩进使用4个空格。

  2. 续行应该与其包裹元素对齐,要么使用圆括号、方括号和花括号内的隐式行连接来垂直对齐,要么使用挂行缩进对齐3。当使用挂行缩进时,应该考虑到第一行不应该有参数,以及使用缩进以区分自己是续行。

# 与左括号对齐

foo = long_function_name(var_one, var_two,

                        var_three, var_four)

# 用更多的缩进来与其他行区分

def long_function_name(

        var_one, var_two, var_three,

        var_four):

    print(var_one)

# 挂行缩进应该再换一行

foo = long_function_name(

    var_one, var_two,

    var_three, var_four)

 

行的最大长度

  1. 所有行限制的最大字符数为79。

  2. 没有结构化限制的大块文本(文档字符或者注释),每行的最大字符数限制在72。

 

空行

顶层函数和类的定义,前后用两个空行隔开。

类里的方法定义用一个空行隔开。

Imports 导入

  1. 导入通常在分开的行,例如:

推荐: import os

    import sys

不推荐:  import sys, os

也可以:

from subprocess import Popen, PIPE

 

  1. 导入总是位于文件的顶部,在模块注释和文档字符串之后,在模块的全局变量与常量之前。

  2. 导入应该按照以下顺序分组:

    1. 标准库导入

    2. 相关第三方库导入

    3. 本地应用/库特定导入

    4. 你应该在每一组导入之间加入空行。

  3. 推荐使用绝对路径导入,如果导入系统没有正确的配置(比如包里的一个目录在sys.path里的路径后),使用绝对路径会更加可读并且性能更好(至少能提供更好的错误信息):

     

Comments 注释

  1. 与代码相矛盾的注释比没有注释还糟,当代码更改时,优先更新对应的注释!

  2. 注释应该是完整的句子。如果一个注释是一个短语或句子,它的第一个单词应该大写,除非它是以小写字母开头的标识符(永远不要改变标识符的大小写!)。

  3. 如果注释很短,结尾的句号可以省略。块注释一般由完整句子的一个或多个段落组成,并且每句话结束有个句号。

  4. 在句尾结束的时候应该使用两个空格。

  5. 当用英文书写时,遵循Strunk and White (译注:《Strunk and White, The Elements of Style》)的书写风格。

  6. 在非英语国家的Python程序员,请使用英文写注释,除非你120%的确信你的代码不会被使用其他语言的人阅读。

 

Block Comments 块注释

  1. 块注释通常适用于跟随它们的某些(或全部)代码,并缩进到与代码相同的级别。块注释的每一行开头使用一个#和一个空格(除非块注释内部缩进文本)。

  2. 块注释内部的段落通过只有一个#的空行分隔。

 

Inline Comments 行内注释

1.有节制地使用行内注释。

2.行内注释是与代码语句同行的注释。行内注释和代码至少要有两个空格分隔。注释由#和一个空格开始。

3.事实上,如果状态明显的话,行内注释是不必要的,反而会分散注意力。

 

 

命名规范

 

Names to Avoid 应避免的名字

  1. 永远不要使用字母‘l’(小写的L),‘O’(大写的O),或者‘I’(大写的I)作为单字符变量名。

  2. 在有些字体里,这些字符无法和数字0和1区分,如果想用‘l’,用‘L’代替。

 

Class Names 类名

  1. 类名一般使用首字母大写的约定。

  2. 在接口被文档化并且主要被用于调用的情况下,可以使用函数的命名风格代替。

  3. 注意,对于内置的变量命名有一个单独的约定:大部分内置变量是单个单词(或者两个单词连接在一起),首字母大写的命名法只用于异常名或者内部的常量。

 

Function Names 函数名

  1. 函数名应该小写,如果想提高可读性可以用下划线分隔。

  2. 大小写混合仅在为了兼容原来主要以大小写混合风格的情况下使用(比如 threading.py),保持向后兼容性。

 

Function and method arguments 函数和方法参数

  1. 始终要将 self 作为实例方法的的第一个参数。

  2. 始终要将 cls 作为类静态方法的第一个参数。

  3. 如果函数的参数名和已有的关键词冲突,在最后加单一下划线比缩写或随意拼写更好。因此 class_ 比 clss 更好。(也许最好用同义词来避免这种冲突)

 

Programming Recommendations 编程建议

1.代码应该用不损害其他Python实现的方式去编写(PyPy,Jython,IronPython,Cython,Psyco 等)。比如,不要依赖于在CPython中高效的内置字符连接语句 a += b 或者 a = a + b。这种优化甚至在CPython中都是脆弱的(它只适用于某些类型)并且没有出现在不使用引用计数的实现中。在性能要求比较高的库中,可以种 ”.join() 代替。这可以确保字符关联在不同的实现中都可以以线性时间发生。

 

2.和像None这样的单例对象进行比较的时候应该始终用 is 或者 is not,永远不要用等号运算符。

 

另外,如果你在写 if x 的时候,请注意你是否表达的意思是 if x is not None。举个例子,当测试一个默认值为None的变量或者参数是否被设置为其他值的时候。这个其他值应该是在上下文中能成为bool类型false的值。

 

3.使用 is not 运算符,而不是 not … is 。虽然这两种表达式在功能上完全相同,但前者更易于阅读,所以优先考虑。

推荐:

if foo is not None

 

不推荐:

if not foo is None:

你可能感兴趣的:(python百日计划)