代码缩进是 python 语法的一个特色,python 对代码的缩进还是比较严格的,很多时候我们编写的程序报错,原因都是代码缩进的问题,那么,为什么是缩进划分代码块而不是 {} 之类的,其实每个人的看法都不一样,想了解的可以去阅读文章末尾的链接,这里不再引申,我们只需要知道 python 要求属于同一作用域中的各行代码,它们的缩进量必须一致,但具体缩进量为多少,并不做硬性规定就够了,那么具体是怎样的,来看看下面的代码:
# python 中实现对代码的缩进,可以使用空格或者 Tab 键实现
# 通常情况下都是采用 4 个空格长度作为一个缩进量(默认情况下,一个 Tab 键就表示 4 个空格)
a = 1
b = 2
if a > b:
print("a > b")
else:
print("a < b")
a = 1
b = 2
if a > b:
print("a > b")
else:
print("a < b")
# 缩进不对,则会报错:SyntaxError: invalid syntax
a = 1
b = 2
if a > b:
print("a > b")
else:
print("a < b")
python 注释分为三种:单行注释、多行注释,其中多行注释有两种形式,通常用来为 python 文件、模块、类或者函数等添加版权或者功能描述信息,下面通过代码简单演示注释是如何使用的:
# 这是单行注释,打印 hello world
print("hello world")
print("hello world") # 这是单行注释,打印 hello world
‘‘‘
使用 3 个单引号分别作为注释的开头和结尾
这里面的内容全部是注释内容
‘‘‘
"""
使用 3 个双引号分别作为注释的开头和结尾
这里面的内容全部是注释内容
"""
遵循 python 编码规范,可以提高代码的可读性,就像 Java 里面,变量、方法等等命名规则一样,假设在 Java 中,我们的方法命名方式都是:fangfa1、fangfa2、fangfa3,是不是看了有种想打人的感觉:
不遵循 PEP 8 的代码
# 输入用户名和密码
name = str(input("请输入用户名:"));pwd = str(input("请输入密码:"))
print("用户名:" + name, "密码:" + pwd) # 打印用户名和密码
# 判断密码
if pwd == ‘123456‘ and name == ‘admin‘: print("登录成功")
if pwd == ‘123456‘ and name == ‘root‘:
print("用户名错误")
遵循 PEP 8 的代码
# -*- coding: utf-8 -*-
"""
File Name: hello
Description : 用户登录
Author : isKylin
date: 2020/11/27
"""
# 输入用户名和密码
name = str(input("请输入用户名:"))
pwd = str(input("请输入密码:"))
print("用户名:" + name, "密码:" + pwd) # 打印用户名和密码
# 判断密码
if pwd == ‘123456‘ and name == ‘admin‘:
print("登录成功")
if pwd == ‘123456‘ and name == ‘root‘:
print("用户名错误")
遵循 PEP 8 规则的代码看起来可读性是不是比不遵循的高,而且排版看起来也舒服,python 采用 PEP 8 作为编码规范,那么 PEP 8 都有哪些规则,下面具体看一看:
1)每个 import 语句只导入一个模块,尽量避免一次导入多个模块,例如:
# 推荐
import os
import sys
# 不推荐
import os,sys
2)不要在行尾添加分号,也不要用分号将两条命令放在同一行,例如:
# 不推荐
name = str(input("请输入用户名:"));pwd = str(input("请输入密码:"))
3)建议每行不要超过80个字符。
4)使用必要的空行提高代码可读性。
5)运算符两侧,函数参数之间及逗号两侧,用空格分隔。
1)标识符是由字符(A~Z 和 a~z)、下划线和数字组成,但第一个字符不能是数字。
2)标识符不能和 python 中的保留字相同。
3)python 中的标识符中,不能包含空格、@、% 以及 $ 等特殊字符。
合法
UserID
name
mode12
user_age
不合法
# 不能以数字开头
4word
# try 是保留字,不能作为标识符
try
# 不能包含特殊字符
$money
注意:标识符是严格区分大小写的,两个同样的单词,大小格式不一样,多代表的意义也是完全不同的。
User
user
USER
保留字是已经被赋予特定意义的单词,不能作为标识符给变量、函数、类、模板以及其他对象命名,python 的保留字可以这样来查看:
import keyword
# [‘False‘, ‘None‘, ‘True‘, ‘__peg_parser__‘, ‘and‘, ‘as‘, ‘assert‘, ‘async‘, ‘await‘, ‘break‘, ‘class‘, ‘continue‘, ‘def‘, ‘del‘, ‘elif‘, ‘else‘, ‘except‘, ‘finally‘, ‘for‘, ‘from‘, ‘global‘, ‘if‘, ‘import‘, ‘in‘, ‘is‘, ‘lambda‘, ‘nonlocal‘, ‘not‘, ‘or‘, ‘pass‘, ‘raise‘, ‘return‘, ‘try‘, ‘while‘, ‘with‘, ‘yield‘]
print(keyword.kwlist)
注意:保留字也严格区分大小写。
了解内置函数前,先要清楚什么是函数,函数即把使用频繁的代码封装起来,要用的时候直接调用,例如 python 中的 print(),而内置函数,即 不需要导入某些模块便可以使用的函数,要注意的是,内置函数库和标准函数库是不一样的,内置函数库即 python 解释器启动了,内置函数也就生效了,可以直接拿来使用,而标准函数库则相当于 python 解释器的外部扩展,因此在使用前需要提前导入相应的库,通常情况下,内置函数的执行效率要高于标准库函数,内置函数的数量必须被严格控制,否则 python 解释器会变得庞大和臃肿,一般来说,只有那些使用频繁或者和语言本身绑定比较紧密的函数,才会被提升为内置函数,来看一看 python 都有哪些内置函数:
内置函数 | ||||
---|---|---|---|---|
abs() | delattr() | hash() | memoryview() | set() |
all() | dict() | help() | min() | setattr() |
any() | dir() | hex() | next() | slicea() |
ascii() | divmod() | id() | object() | sorted() |
bin() | enumerate() | input() | oct() | staticmethod() |
bool() | eval() | int() | open() | str() |
breakpoint() | exec() | isinstance() | ord() | sum() |
bytearray() | filter() | issubclass() | pow() | super() |
bytes() | float() | iter() | print() | tuple() |
callable() | format() | len() | property() | type() |
chr() | frozenset() | list() | range() | vars() |
classmethod() | getattr() | locals() | repr() | zip() |
compile() | globals() | map() | reversed() | _ _ import() _ _ |
complex() | hasattr() | max() | round() |
原文:https://www.cnblogs.com/isKylin/p/14049442.html