Python 是一种高级的、动态的、解释型的编程语言,具有简单易学、开发效率高、可读性强等特点,广泛应用于数据科学、Web 开发、人工智能等领域。
尽管Python是一种面向对象的语言,但Python的代码编写比较自由,并不像Java语言那样需要定义一个main方法作为入口点。Python程序的代码可以像批处理文件一样从上到下按顺序编写,这也是Python适合做运维的原因。
尽管Python语言的代码自由度更大,但这并不等于Python语言的代码可以随便编写,仍然需要一定的结构。学习Python需要了解它的语法特点,比如注释规则、代码缩进、编码规范等。
Python程序包括以下一些基本要素。
Python 程序可以分为多个模块,每个模块是一个独立的文件,包含一些可执行的 Python 代码。使用 import 语句可以将一个模块导入到当前程序中。
要进行数学计算,我们需要导入math
模块。
import math
# 获取圆周率
print(math.pi)
# 开平方
print(math.sqrt(4))
# 计算对数值
print(math.log(9, 3))
要进行数据分析,我们需要导入numpy
模块。
import numpy as np
# 创建1维数组
ary1 = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
print(ary1)
# 创建1维数组
ary2 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(ary2)
print(ary2.shape)
Python 程序中的语句是一系列指令,用于控制程序的执行流程。Python 中的语句包括赋值语句、条件语句、循环语句、函数定义语句等。
Python 中的赋值语句用于给变量赋值,格式为:
变量名 = 表达式
在上面的案例中:
ary1 = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
就是将一个1维数据赋值给变量ary1。
Python 中的条件语句用于根据条件来选择执行的代码块,格式为:
if 条件语句:
代码块1
else:
代码块2
比如比较两个数的大小:
# 条件语句
a = 10
b = 20
if a > b:
print("a 大于 b")
else:
print("a 小于等于 b")
Python 程序中的表达式是一组由运算符和操作数组成的式子,用于计算某个值。Python 中的表达式包括算术表达式、比较表达式、逻辑表达式等。
根据两个变量的值,计算第三个变量:
# 算术表达式
a = 10
b = 3
c = a + b * 2 / 5
# 比较表达式
a = 10
b = 3
c = a > b
d = a < b
print(c, d)
注释,就是对代码的解释、说明、备注等,通常用于对代码中的复杂逻辑、语句含义及作用等做出说明,方便人们阅读理解代码。
在添加注释时,一定要有意义,要能充分体现代码的作用。
在Python中,通常包括3种类型的注释,分别是单行注释、多行注释和Python 2中常用的中文注释。
在Python中,使用“#”作为单行注释发符号。从符号“#”开始直到行尾的所有内容都是注释内容,会被Python编译器忽略。
单行注释可以放在要注释的代码的前一行,也可以放在要注释的代码的行尾。
在前面的案例中,所有注释都是单行注释,并且都是在要注释的代码的前一行,比如:
# 获取圆周率
print(math.pi)
# 开平方
print(math.sqrt(4))
# 计算对数值
print(math.log(9, 3))
当然,也可以将注释放到行尾,比如:
# 获取圆周率
print(math.pi) # 这也是正确的注释,获取圆周率,行尾注释
# 开平方
print(math.sqrt(4)) # 这也是正确的注释,开平方
# 计算对数值
print(math.log(9, 3)) # 这也是正确的注释
在Python中,没有一个单独的多行注释标记,而是用一对三引号的内容来表示多行注释。比如:
"""
下面的三行代码的作用分别是:
第1行:获取圆周率
第2行:开平方
第3行:计算对数值
"""
print(math.pi)
print(math.sqrt(4))
print(math.log(9, 3))
或者:
'''
下面的三行代码的作用分别是:
第1行:获取圆周率
第2行:开平方
第3行:计算对数值
'''
print(math.pi)
print(math.sqrt(4))
print(math.log(9, 3))
但是,这其实并不是真正的注释,而是一个匿名的多行字符串。
你会发现,它在Python代码中的语法高亮跟字符串的一样,而不是跟单行注释的一样,而在其他语言,比如Java中,单行注释和多行注释的高亮颜色是一样的。
# 注释的颜色是灰色的 # 你看,字符串的颜色是绿色的 a = "楼上说得对,我是绿色的" """ 他们说我是多行字符串 但是我的颜色跟注释的颜色不一样 我的颜色跟字符串的颜色一样 我觉得我是个假注释 """
既然它是字符串,那就是可以赋值的。
""" 他们说我是注释 我觉得我是个假注释 """ a = """ 我真的是注释吗? 不,其实我是一个字符串! 我有自己的类型、我在内存中占用了空间、有内存地址 """ print(a, type(a), id(a)) print( "print 的内容其实可以换行写,我是字符串,没商量,1" ) print( "print 的内容其实可以换行写,我是字符串,没商量,2" # 我确实是注释,虽然我在print里面,但是打印的结果看不到我 """ 我真的是注释吗? 如果我真的是注释,那么现在编译器应该忽略我,print不应该把我打印出来,只会打印我前面的那行。 但你看我打印出来了,我楼上的那行注释就没打印出来,所以我真的只是一个匿名的多行字符串。 """ )
执行之后,输出内容如下:
在Python 2中需要用到,但在Python 3中并不需要了,用于指定当前脚本中包含中文,需要用utf-8编码。
# coding=utf-8
Python的代码格式非常重要,因为它可以影响到代码的可读性和可维护性。在Python社区中,通常会遵循一些通用的代码格式约定,例如PEP 8(Python Enhancement Proposal 8)。
一些Python代码格式的基本要点: