第一章python科学编程入门
后台-插件-广告管理-内容页头部广告(手机) |
简单梳理一下python的基本编码规范
Python的基本编码规范主要遵循PEP 8——Python Enhancement Proposal #8。它为Python代码的编写提供了一个风格指南,以确保代码具有一致的风格,便于阅读和维护。以下是一些关键的编码规范以及代码示例:
缩进
- 使用4个空格来进行缩进,不要使用制表符(Tab)。
- 续行应该与其包裹元素的括号、中括号或大括号内的第一个非空白字符对齐,或者使用垂直对齐的方式。
行宽
- 每行代码不应超过79个字符,这样可以在小屏幕上阅读,也便于多个代码文件并排显示。
- 对于具有较少结构限制的长文本(如文档字符串或注释),行宽可以达到72个字符。
空白
- 在逗号、冒号、分号前面不要加空格,但其后面需要加空格。
- 函数的参数列表、列表、字典、集合中,紧跟其后的括号前不应有空格。
- 赋值(=)、比较(==, <, >, !=, <>, <=, >=, in, not in, is, is not)和布尔运算符(and, or, not)前后应该有一个空格,但在传递参数或赋值参数时,不在=前后加空格。
注释
- 注释应该是完整的句子。如果注释是一个短语或句子,其首字母应该大写,除非它是以小写字母开头的标识符。
- 如果注释短到可以放在一行内,注释符号与注释文本之间应该跟随至少两个空格。
命名约定
- 函数名、变量名应该是小写的,如果有多个单词,使用下划线分隔。
- 类名应该采用首字母大写的方式。
- 对于私有或受保护的成员变量,使用一个下划线开头。
示例代码
class MyClass: def __init__(self, name, identifier): self.name = name # 正确的空格使用 self._identifier = identifier # 私有变量以一个下划线开头 def say_hello(self): """以友好的方式打招呼""" print(f"Hello, {self.name}!") def calculate_sum(x, y): # 确保每个操作符前后都有空格 return x + y # 使用逗号后面加空格 numbers = [1, 2, 3, 4, 5] # 字典中的元素:紧跟其后的大括号前不应有空格 person = {"name": "Alice", "age": 30} if __name__ == "__main__": obj = MyClass("Bob", 123) obj.say_hello() result = calculate_sum(5, 3) print(f"Sum: {result}")- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
关键字
Python中的关键字是保留的词汇,它们具有特定的语法意义。关键字不能用作任何标识符名称。Python语言的关键字可能随版本变化有所不同,但以下是一般常见的Python关键字列表及其用法示例:
Python 关键字列表
- False - 布尔值假。
- True - 布尔值真。
- None - 表示空值或无值。
- and - 逻辑与运算。
- or - 逻辑或运算。
- not - 逻辑非运算。
- assert - 用于调试目的,测试条件,如果条件为假,则触发异常。
- break - 跳出当前最内层循环。
- continue - 跳过当前循环的剩余部分,继续下一次循环。
- class - 用于定义类。
- def - 用于定义函数或方法。
- if - 条件语句。
- elif - 条件语句,else if的缩写。
- else - 条件语句,其他情况。
- try - 指定异常处理,尝试执行语句。
- except - 捕获异常。
- finally - 无论是否发生异常都将执行的代码块。
- for - for循环。
- while - while循环。
- import - 导入模块。
- from - 从模块中导入特定部分。
- as - 创建别名。
- pass - 空语句,一条什么也不做的命令。
- return - 返回函数结果。
- yield - 用于从函数返回一个生成器。
- with - 用于简化异常处理。
- lambda - 创建匿名函数。
- global - 声明全局变量。
- nonlocal - 声明非局部变量。
- del - 删除对象。
- in - 检查序列中是否包含特定的值。
- is - 测试两个变量是否引用自同一个对象。
- raise - 引发异常。
示例代码
以下是一些关键字的示例用法:
# if, elif, else if x > 10: print("x is greater than 10") elif x == 10: print("x is 10") else: print("x is less than 10") # for, break, continue for i in range(5): if i == 3: continue # 跳过当前循环,继续下一次循环 if i == 4: break # 跳出循环 print(i) # def, return def add(x, y): return x + y # class class MyClass: def __init__(self, name): self.name = name # try, except, finally try: x = 1 / 0 except ZeroDivisionError: print("Cannot divide by zero") finally: print("This will always execute") # with (used for resource management, e.g., opening files) with open("file.txt", "r") as file: contents = file.read() # lambda square = lambda x: x ** 2 print(square(5)) # global x = 5 def func(): global x x = 10 func() print(x) # Output: 10- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
常量与变量
标识符
在Python中,区分常量和变量主要依靠命名约定和编程实践,因为Python本身不像某些语言(如C++或Java)那样有内置的常量类型。下面将介绍如何在Python中使用变量和常量,并提供相应的示例。
变量
变量是可以更改值的标识符。在Python中,你可以直接给变量赋值,并且可以随时更改变量的值。变量命名应遵循标识符命名规则,即使用字母、数字和下划线,但不能以数字开头。
变量示例
# 定义变量 age = 30 name = "Alice" is_student = True # 使用变量 print(age) # 输出: 30 print(name) # 输出: Alice print(is_student) # 输出: True # 更改变量的值 age = 31 name = "Bob" is_student = False # 再次使用变量 print(age) # 输出: 31 print(name) # 输出: Bob print(is_student) # 输出: False- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
常量
在Python中,常量是一种约定俗成的概念,通常用全部大写字母表示。虽然这种方式不能阻止常量的值被更改,但按照约定,开发者应该把它们视为不变的值。
常量示例
# 定义常量 PI = 3.14159 MAX_SIZE = 100 API_KEY = "XYZ123" # 使用常量 print(PI) # 输出: 3.14159 print(MAX_SIZE) # 输出: 100 print(API_KEY) # 输出: "XYZ123" # 尽管以下操作在技术上是可能的,但不应更改常量的值 # PI = 3.14 # 不推荐这样做- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
模块级常量
如果你需要在多个文件中使用相同的常量,一个好的实践是将它们定义在一个单独的文件(例如constants.py)中,然后在其他模块中导入它们。
constants.py
# 定义常量 PI = 3.14159 MAX_SIZE = 100- 1
- 2
- 3
使用常量的模块
# 导入常量 from constants import PI, MAX_SIZE # 使用常量 print(PI) # 输出: 3.14159 print(MAX_SIZE) # 输出: 100- 1
- 2
- 3
- 4
- 5
- 6
这种方法有助于维护和管理在多处使用的常量值,确保它们的一致性并且容易更新。
运算符
Python中的运算符用于执行各种运算。以下是Python中常用运算符的类型和示例。
算术运算符
用于执行数学运算。
- + 加法
- - 减法
- * 乘法
- / 除法
- % 求余
- ** 求幂
- // 整除
示例:
x = 10 y = 3 print(x + y) # 输出: 13 print(x - y) # 输出: 7 print(x * y) # 输出: 30 print(x / y) # 输出: 3.3333333333333335 print(x % y) # 输出: 1 print(x ** y) # 输出: 1000 print(x // y) # 输出: 3- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
赋值运算符
用于为变量赋值。
- = 赋值
- += 加后赋值
- -= 减后赋值
- *= 乘后赋值
- /= 除后赋值
- %= 模后赋值
- **= 幂后赋值
- //= 整除后赋值
示例:
x = 10 x += 3 # 相当于 x = x + 3 print(x) # 输出: 13 x -= 3 # 相当于 x = x - 3 print(x) # 输出: 10- 1
- 2
- 3
- 4
- 5
- 6
比较运算符
用于比较两个值。
- == 等于
- != 不等于
- > 大于
- < 小于
- >= 大于等于
- <= 小于等于
示例:
x = 10 y = 12 print(x == y) # 输出: False print(x != y) # 输出: True print(x > y) # 输出: False print(x < y) # 输出: True print(x >= y) # 输出: False print(x <= y) # 输出: True- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
逻辑运算符
用于组合条件语句。
- and 与
- or 或
- not 非
示例:
x = True y = False print(x and y) # 输出: False print(x or y) # 输出: True print(not x) # 输出: False- 1
- 2
- 3
- 4
- 5
- 6
成员运算符
用于测试序列中是否包含指定的成员。
- in 存在
- not in 不存在
示例:
x = [1, 2, 3, 4, 5] print(3 in x) # 输出: True print(6 not in x) # 输出: True- 1
- 2
- 3
- 4
身份运算符
用于比较两个对象的存储单元。
- is 是同一个对象
- is not 不是同一个对象
示例:
x = [1, 2, 3] y = [1, 2, 3] z = x print(x is z) # 输出: True print(x is y) # 输出: False print(x == y) # 输出: True print(x is not y) # 输出: True- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
数据类型
Python中的数据类型可以大致分为内置数据类型和自定义数据类型。内置数据类型包括数字(整数、浮点数、复数)、字符串、列表、元组、字典和集合等。每种数据类型都有其特定的用途和操作方法。下面将详细介绍这些内置数据类型及其使用示例。
数字
Python支持整数、浮点数和复数。
示例
# 整数 x = 10 print(x, type(x)) # 输出: 10- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
字符串
字符串是由字符组成的序列,用单引号或双引号括起来。
示例
name = "Alice" message = 'Hello, "Bob"!' print(name, type(name)) # 输出: Alice- 1
- 2
- 3
- 4
列表
列表是有序的元素集合,元素可以是不同的数据类型,列表是可变的。
示例
numbers = [1, 2, 3, 4, 5] mixed = [1, "Hello", 3.14, [1, 2, 3]] print(numbers, type(numbers)) # 输出: [1, 2, 3, 4, 5]- 1
- 2
- 3
- 4
元组
元组与列表类似,但元组是不可变的。
示例
coordinates = (10, 20) print(coordinates, type(coordinates)) # 输出: (10, 20)- 1
- 2
字典
字典存储键值对,键是唯一的。
示例
person = {"name": "Alice", "age": 30} print(person, type(person)) # 输出: {'name': 'Alice', 'age': 30}- 1
- 2
集合
集合是无序的、不重复的元素集合。
示例
fruits = {"apple", "banana", "cherry"} print(fruits, type(fruits)) # 输出: {'banana', 'cherry', 'apple'}- 1
- 2
布尔值
布尔值表示真或假。
示例
is_student = True is_sunny = False print(is_student, type(is_student)) # 输出: True- 1
- 2
- 3
- 4
内置函数
Python的内置函数是不需要任何特殊导入即可使用的函数,提供了许多基本功能,从而使得日常编程任务变得更加简单。这些函数包括类型转换、数学计算、序列操作等。以下是一些常用的内置函数及其示例:
类型转换函数
- int(x[, base]): 将x转换为一个整数。可选参数base表示数的进制,默认为十进制。
- float(x): 将x转换为一个浮点数。
- str(x): 将对象x转换为字符串。
- bool(x): 将x转换为布尔值。
示例
print(int("10")) # 输出: 10 print(float("10.5")) # 输出: 10.5 print(str(20)) # 输出: "20" print(bool(0)) # 输出: False- 1
- 2
- 3
- 4
数学相关函数
- abs(x): 返回x的绝对值。
- round(number[, ndigits]): 四舍五入,ndigits表示小数点后保留的位数。
- sum(iterable[, start]): 计算iterable的总和,如果提供start,则从这个值开始加。
示例
print(abs(-10.5)) # 输出: 10.5 print(round(10.456, 2)) # 输出: 10.46 print(sum([1, 2, 3], 10)) # 输出: 16- 1
- 2
- 3
序列操作函数
- len(s): 返回对象(字符、列表、元组等)的长度或项目数。
- range(start, stop[, step]): 生成一个数值序列。
- enumerate(iterable, start=0): 返回一个枚举对象。
- sorted(iterable, key=None, reverse=False): 返回排序后的列表。
示例
print(len("hello")) # 输出: 5 print(list(range(0, 10, 2))) # 输出: [0, 2, 4, 6, 8] for i, v in enumerate(['a', 'b', 'c']): print(f"{i}: {v}") # 输出: # 0: a # 1: b # 2: c print(sorted([3, 1, 2])) # 输出: [1, 2, 3]- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
输入输出函数
- print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False): 打印对象到文本流或文件。
- input(prompt): 用于获取用户输入。
示例
print("Hello", "World", sep="-") # 输出: Hello-World name = input("Enter your name: ") # 用户输入 print(f"Hello, {name}!")- 1
- 2
- 3
其他常用函数
- help(object): 调用内置的帮助系统。
- type(object): 返回对象的类型。
示例
print(type(10)) # 输出:- 1
- 2
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。
在线投稿:投稿 站长QQ:1888636
后台-插件-广告管理-内容页尾部广告(手机) |