一、 Python语言两大特性
Python是一种动态的强类型语言。
1.1 什么是动态语言?
类型检查: 验证类型约束的过程,编译器或解释器通常在编译阶段或运行阶段做类型检查,类型检查就是查看变量和它们的类型,然后判断表达式是否合理。
如果类型检查发生在程序运行阶段,那么,它便是动态类型语言。
常见的动态类型语言包括:
- Python
- JavaScript
- PHP
类型检查发生在编译阶段的是静态类型语言。
常见的静态类型语言包括: - C
- C++
- Java
- C#
- Scala
1.2 什么是强类型语言?
强类型语言: 不管是在编译阶段还是运行阶段,一旦某种类型绑定到变量之后,此变量便会持有此类型,并且不能同其他类型在计算表达式时混合使用。
常见的强类型语言:
- Python
- Java
- C#
- Scala
弱类型语言:容易与其他类型混合计算
常见的弱类型语言: - C
- C++
- PHP
- JavaScript
二、四大基本语法
2.1 命名规则
Python 的变量命名规则主要包括两条:
- 允许包括英文、数字以及下划线(_),不能以数字开头
- 名称区分大小写
特别说明以“下划线”开头的变量是有特殊意义的:
- 类变量若以单下划线()开头,代表不能直接被访问,类似于 C# 的受保护型变量(protected),表示不能通过 import module_name 而导入。
类变量若以双下划(_)开头,表示为类的私有成员,不能被导入和其他类变量访问。 - 以双下划开头和双下划线结尾的变量是 Python 里的专用标识,有特殊的身份。
如Python自定义类中都包括init和add方法,如果不重写add去执行两个类的加法操作, 程序会抛TypeError异常。只有重写之后,程序才能正常执行加法操作。
Python 变量命名习惯一般遵守蛇形命名法(snake case): - 一般变量命名,book_id、book_store_count;
- 类名首字符为大写,如 Python 内置模块 collections.abc 中的 Iterable 类、我们自定义的 Book 类等;
- 类方法名:get_store_count();
- 其他特殊变量,会全部大写,M_PI、MAX_VEHICLE_SPEED。
2.2 缩进原则
class Book(object):
# 定义类的参数
def __init__(self,book_id, book_name, book_store_count):
self.book_id = book_id
self.book_name = book_name
self.book_store_count = book_store_count
# 重写加法操作
def __add__(self,book):
return self.book_store_count + book.book_store_count
# 创建两个 Book 类的实例:
python_intro_book = Book(1,'python入门书',100)
ml_intro_book = Book(2,'机器学习入门书',200)
# 求两本书的总销量
sales_cnt = python_intro_book + ml_intro_book
print(sales_cnt) # 300