1.format函数
age = 25
name = 'Caroline'
print('{0} is {1} years old. '.format(name, age)) #输出参数
复制代码
class Student():
def __init__(self,name = 'GCK', age = 19):
self.name = name
self.age = age
def say(self):
print('My name is {0}'.format(self.name))
复制代码
2. 模块
1.模块名称可以包含数字,但不能用数字开头
但有一种方法可以导入以数字开头的包
#用importlib
import importlib
bao= importlib.import_module("01") #导入名为01的模块并把其值赋bao
复制代码
2.import 模块 as 别名
之后再使用该模块时可以直接使用其别名来写代码
3. 导入某个模块中的某个类or函数
from module_name import func_name,class_name
导入后使用就不需要再加这个模块名的前缀了
from module_name import * #*号的含义是所有
- 好处:之后就不用使用前缀了
- 坏处:可能会命名污染
4. if__name__ == 'main':
- 可以有效避免模块代码被导入时被动执行
- 建议作为程序入口
5. 模块的搜索和路径
1.系统默认的模块搜索路径
import sys
sys.path 属性可以获取路径列表
- 添加搜索路径
sys.path.append(dir)
- 模块的加载顺序
- 搜索内存中已加载好的模块
- 搜索python的内置模块
- 搜索sys.path路径
3. 包
包里面存放的是模块,将模块组织在一起的文件就是包
1. 导入操作
import package_name
2.使用方式
package_name.function_name()
package_name.class.name.function_name()
3. 别名
import package_name as p: #p就是别名
4.导入包中的模块
import package.module
5. from...import module1,module2,module3... 导入
from package import module
这种方法不执行__init__里面的内容
from package import * # 导入当前包文件的所有内容
使用方法:
func_name()
class_name.func_name()
# 不用写前缀了
复制代码
6.from package.module import *
from package.module import *
导入包中指定的模块的所有内容
使用方法:
func_name()
class_name.func_name()
# 不用写前缀了
复制代码
7. __ all __ 的用法
- 在使用 from package import *
- 如果__init__内容为空或者没有__ all __ 则导入__init__内容
- 若有__ all 时,则只导入 all __的内容而忽略__init__内容