Python module all in one

Python module all in one

Python Modules

https://docs.python.org/3/tutorial/modules.html

Fibonacc

# Fibonacci numbers module

def fib(n):    # write Fibonacci series up to n
a, b = 0, 1
while a < n:
print(a, end=' ')
a, b = b, a+b
print() def fib2(n): # return Fibonacci series up to n
result = []
a, b = 0, 1
while a < n:
result.append(a)
a, b = b, a+b
return result
# 导入模块
import fibo # 使用
fibo.fib(1000)
fibo.fib2(100) print(fibo.__name__)
# 'fibo'
# 导入模块
import fibo # 重命名
fib = fibo.fib # 使用
fib(1000)
fib2(100) print(fibo.__name__)
# 'fibo'
# import语句有一个变体,可以将名称从模块直接导入到导入模块的符号表中。
from fibo import fib, fib2 fib(500)
# 不存在 fibo, 没有导入
print(fibo.__name__)
# None
# 这将导入除以下划线(_)开头的名称以外的所有名称。 ️
from fibo import * fib(500)
# 如果模块名称后跟as,则名称后跟as直接绑定到导入的模块。
import fibo as fib # Alias
fib.fib(500) print(fibo.__name__)
# None
from fibo import fib as fibonacci

fibonacci(500)


execute module

# python3 fibo.py <arguments>

$ python3 fibo.py

Module => Script ??? "main"

from fibo import fib as fibonacci
fibonacci(500) # 您可以将文件用作脚本以及可导入模块
if __name__ == "__main__":
import sys
fib(int(sys.argv[1]))
# 因为解析命令行的代码仅在模块作为“主”文件执行时运行:
$ python fibo.py 50 # 如果导入模块,则代码不会运行
# import fibo

sys.path

https://docs.python.org/3/library/sys.html#sys.path

Python 3 模块导入方式

  1. import Module

  2. import Module as Alias_Module

  3. from Module import Function

# coding: utf8

# import Module
# 导入整个模块
import camelcase 模块名.函数名
c = camelcase.CamelCase()
txt = "hello world"
print(c.hump(txt))
# coding: utf8

# import Module as Alias_Module
# 导入整个模块, 并且使用 Alias 模块别名
import camelcase as cc c = cc.CamelCase()
txt = "hello world"
print(c.hump(txt))
# coding: utf8

# from Module import Function
# 导入部分模块
from camelcase import CamelCase 函数名
c = CamelCase()
txt = "hello world"
print(c.hump(txt))

import group modules

python

# import group modules
from spider import url_manager, html_downloader, html_parser, html_outputer
# 导入部分模块
from spider import url_manager
from spider import html_downloader
from spider import html_parser
from spider import html_outputer

create a module

# greeting_module.py

def greeting(name):
print("Hello, " + name)

use a module

Note: When using a function from a module, use the syntax: module_name.function_name.

import greeting_module

greeting_module.greeting("xgqfrms")

# Hello, xgqfrms

import Module as Alias

module alias

human.py

person = {
"name": "xgqfrms",
"age": 23,
"country": "China"
}

import human as man age = man.person["age"]
print(age) # 23

import Module as Alias_Module

Python module all in one

# coding: utf8

# 导入整个模块
# import camelcase # 模块名.函数名
# c = camelcase.CamelCase()
# txt = "hello world"
# print(c.hump(txt)) # 导入部分模块
# from camelcase import CamelCase # 函数名
# c = CamelCase()
# txt = "hello world"
# print(c.hump(txt)) # import Module as Alias_Module
# 导入整个模块, 并且使用 Alias 模块别名
import camelcase as cc c = cc.CamelCase()
txt = "hello world"
print(c.hump(txt)) """bug # ModuleNotFoundError: No module named 'Camelcase'
# AttributeError: module 'camelcase' has no attribute 'CamelCase' # This method capitalizes the first letter of each word.
"""

Built-in Modules

import platform

x = platform.system()
print(x)

Python module all in one

list function names in a module

list all the function names (or variable names) in a module

Note: The dir() function can be used on all modules, also the ones you create yourself.

#!/usr/bin/env python3

# coding: utf8

__author__ = 'xgqfrms'

__editor__ = 'vscode'

__version__ = '1.0.1'

__copyright__ = """
Copyright (c) 2012-2050, xgqfrms; mailto:xgqfrms@xgqfrms.xyz
""" """
/**
*
* @author xgqfrms
* @license MIT
* @copyright xgqfrms
* @created 2020-01-0
*
* @description
* @augments
* @example
* @link
*
*/
""" import platform dir = dir(platform)
# List all the defined names belonging to the `platform` module: print(dir) # ['DEV_NULL', '_UNIXCONFDIR', '_WIN32_CLIENT_RELEASES', '_WIN32_SERVER_RELEASES', '__builtins__', '__cached__', '__copyright__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '__version__', '_comparable_version', '_component_re', '_default_architecture', '_dist_try_harder', '_follow_symlinks', '_ironpython26_sys_version_parser', '_ironpython_sys_version_parser', '_java_getprop', '_libc_search', '_linux_distribution', '_lsb_release_version', '_mac_ver_xml', '_node', '_norm_version', '_parse_release_file', '_platform', '_platform_cache', '_pypy_sys_version_parser', '_release_filename', '_release_version', '_supported_dists', '_sys_version', '_sys_version_cache', '_sys_version_parser', '_syscmd_file', '_syscmd_uname', '_syscmd_ver', '_uname_cache', '_ver_output', '_ver_stages', 'architecture', 'collections', 'dist', 'java_ver', 'libc_ver', 'linux_distribution', 'mac_ver', 'machine', 'node', 'os', 'platform', 'popen', 'processor', 'python_branch', 'python_build', 'python_compiler', 'python_implementation', 'python_revision', 'python_version', 'python_version_tuple', 're', 'release', 'subprocess', 'sys', 'system', 'system_alias', 'uname', 'uname_result', 'version', 'warnings', 'win32_ver']

from Module import Function

You can choose to import only parts from a module, by using the from keyword.

test_module.py

# test_module has one function and one dictionary:

def greeting(name):
print("Hello, " + name) person = {
"name": "xgqfrms",
"age": 23,
"country": "China"
}
from test_module import person

print (person["age"])

Note: When importing using the from keyword, do not use the module name when referring to elements in the module.

Python module all in one


camelcase bug

https://www.w3schools.com/python/showpython.asp?filename=demo_camelcase

import camelcase

c = camelcase.CamelCase()

txt = "hello world"

print(c.hump(txt))

# Hello World

refs

https://www.w3schools.com/python/python_modules.asp

https://www.runoob.com/python3/python3-module.html


Python module all in one

xgqfrms 2012-2020

www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!


上一篇:Nuke Python module的使用


下一篇:【python】getopt使用