Python3 基础语法
标识符
- 第一个字符必须是字母表中字母或下划线
\_。 - 标识符的其他的部分由字母、数字和下划线组成。
- 标识符对大小写敏感。
在 Python 3 中,可以用中文作为变量名,非 ASCII 标识符也是允许的了。
python 保留字
>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', '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']
import 与 from...import
在 python 用 import 或者 from...import 来导入相应的模块。
将整个模块(somemodule)导入,格式为: import somemodule
从某个模块中导入某个函数,格式为: from somemodule import somefunction
从某个模块中导入多个函数,格式为: from somemodule import firstfunc, secondfunc, thirdfunc
将某个模块中的全部函数导入,格式为: from somemodule import *
import sys
print('================Python import mode==========================')
print ('命令行参数为:')
for i in sys.argv:
print (i)
print ('\n python 路径为',sys.path)
from sys import argv,path # 导入特定的成员
print('================python from import===================================')
print('path:',path) # 因为已经导入path成员,所以此处引用时不需要加sys.path
isinstance 和 type
在 Python 中,isinstance 和 type 都可以用来检查对象的类型,但它们有以下区别:
1. **isinstance**:
- 检查对象是否是指定类或其子类的实例。
- 支持继承关系。
- 语法:
isinstance(obj, class_or_tuple) - 如果传入一个元组,则可以检查多个类型。
示例:
class Animal:
pass
class Dog(Animal):
pass
d = Dog()
print(isinstance(d, Dog)) # True
print(isinstance(d, Animal)) # True (因为 Dog 是 Animal 的子类)
print(isinstance(d, (Dog, str))) # True
2. **type**:
- 严格比较对象的类型,不考虑继承关系。
- 返回对象的实际类型。
- 语法:
type(obj)
示例:
print(type(d) == Dog) # True
print(type(d) == Animal) # False (因为 d 的实际类型是 Dog,不是 Animal)
使用场景对比:
**isinstance**** 更灵活**:推荐在检查类型时使用,因为它考虑继承关系,适合多态场景。**type**** 更严格**:适合需要精确匹配类型的场景。
总结:
- 优先使用
isinstance,除非你明确需要判断一个对象的具体类型,而不允许继承。