1.1 python獲取模塊屬性
1.1.1 獲取模塊屬性
描述
python可以通過點(diǎn)號或字典,獲取模塊屬性。
已經(jīng)導(dǎo)入的模塊存放在sys.modules字典,通過getattr獲取模塊屬性。
NO | 獲取屬性 | 描述 |
---|---|---|
1 | M.name | 點(diǎn)號運(yùn)算,“模塊名”點(diǎn)“屬性名” |
2 | M. dict [‘name’] | 屬性字典,“模塊名”. dict [‘屬性名’] |
3 | sys.modules[‘M’].name | 點(diǎn)號運(yùn)算,sys.modules[‘模塊名’].屬性名 |
4 | getattr(M,’name’) | getattr(模塊名,’屬性名’) |
注:用as后,通過字符串方式訪問的用“原名”,通過變量名方式訪問的用“別名”。
文件內(nèi)容
E**:**\\documents\\F盤\\testmatt.py
import os,sys
print("run:{}".format(os.path.abspath(__file__)))
print("__name__:{}".format(__name__))
tyxt='梯閱線條'
示例
# 打開cmd 執(zhí)行下面示例
E:\\documents\\F盤>python
>>> import testmatt as matt
run:E:\\documents\\F盤\\testmatt.py
__name__:testmatt
# M.name , as 后 , 變量名方式 用別名訪問
>>> matt.tyxt
'梯閱線條'
# M.__dict__['name']
>>> matt.__dict__['tyxt']
'梯閱線條'
>>> import sys
# sys.modules['M'].name , as 后 , 字符串方式 用原名訪問
>>> sys.modules['testmatt'].tyxt
'梯閱線條'
>>> sys.modules['matt'].tyxt
Traceback (most recent call last):
File "" , line 1, in
KeyError: 'matt'
# getattr(M,'name') , as 后 , 變量名方式 用別名訪問
>>> getattr(matt,'tyxt')
'梯閱線條'
>>> getattr(testmatt,'tyxt')
Traceback (most recent call last):
File "" , line 1, in
NameError: name 'testmatt' is not defined
1.2 python字符串導(dǎo)入模塊
python導(dǎo)入模塊時,需提供模塊的變量名,如果導(dǎo)入時只能獲取模塊字符串形式的名稱,就會導(dǎo)入失敗。
1.2.1 描述
NO | 執(zhí)行方式 | 描述 |
---|---|---|
1 | exec(“import M”) | 執(zhí)行引號內(nèi)導(dǎo)入語句,不返回結(jié)果 |
2 | import (“import M”) | 執(zhí)行引號內(nèi)導(dǎo)入語句,返回導(dǎo)入模塊 |
1.2.2 exec
示例
# 打開cmd 執(zhí)行下面示例
# import 字符串,導(dǎo)入失敗
>>> import 'string'
File "" , line 1
import 'string'
^
SyntaxError: invalid syntax
# 字符串賦值給變量,import 導(dǎo)入失敗
>>> s='string'
>>> import s
Traceback (most recent call last):
File "" , line 1, in
ModuleNotFoundError: No module named 's'
>>> string
Traceback (most recent call last):
File "" , line 1, in
NameError: name 'string' is not defined
>>> impmod='import '+s
# exec()導(dǎo)入成功,直接執(zhí)行,不返回結(jié)果
>>> exec(impmod)
>>> string
'string' from 'D:\\\\python3\\\\lib\\\\string.py'>
>>> s
'string'
1.2.3 import
示例
# 打開cmd 執(zhí)行下面示例
>>> s='string'
>>> string
Traceback (most recent call last):
File "" , line 1, in
NameError: name 'string' is not defined
>>> __import__(s)
'string' from 'D:\\\\python3\\\\lib\\\\string.py'>
>>> string
Traceback (most recent call last):
File "" , line 1, in
NameError: name 'string' is not defined
# __import__()返回模塊,需手動賦值
>>> string=__import__(s)
>>> string
'string' from 'D:\\\\python3\\\\lib\\\\string.py'>
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
模塊
+關(guān)注
關(guān)注
7文章
2655瀏覽量
47292 -
python
+關(guān)注
關(guān)注
55文章
4767瀏覽量
84375
發(fā)布評論請先 登錄
相關(guān)推薦
2.2 python字符串類型
2.2 python字符串類型1. 如何定義字符串?字符串是Python中最常用的數(shù)據(jù)類型之一。使用單引號或雙引號來創(chuàng)建
發(fā)表于 02-17 17:12
python字符串拼接方式了解
python字符串拼接的方式 在Python的實際開發(fā)中,很多都需要用到字符串拼接,python中字符串
發(fā)表于 12-06 10:09
?1022次閱讀
什么是復(fù)制字符串?Python如何復(fù)制字符串
連續(xù)幾篇文章都在寫 Python 字符串,這出乎我的意料了。但是,有的問題,不寫不行,特別是那種靈機(jī)一動想到的問題,最后你發(fā)現(xiàn),很多人根本不懂卻又誤以為自己懂了。那就繼續(xù)刨根問底,探究個明白吧
發(fā)表于 11-25 10:32
?2978次閱讀
2.2 python字符串類型
2.2 python字符串類型 1. 如何定義字符串? 字符串是Python中最常用的數(shù)據(jù)類型之一。 使用單引號或雙引號來創(chuàng)建
python字符串有哪些特定方法
python字符串序列操作也適用于列表和元組。
python字符串還有獨(dú)有方法,即字符串對象的函數(shù),其他對象不可調(diào)用,只有
Python 如何判斷字符串是否包含子串
方法 使用 字符串 對象的 find 方法,如果有找到子串,就可以返回指定子串在字符串中的出現(xiàn)位置,如果沒有找到,就返回 -1 >> > "hello,
字符串如何轉(zhuǎn)換成日期型
同編程語言將字符串轉(zhuǎn)換為日期類型。 正文: 一、Python中的字符串轉(zhuǎn)日期轉(zhuǎn)換 在Python中,使用datetime模塊可以方便地將
python輸出固定長度的字符串
Python 是一種強(qiáng)大而靈活的編程語言,具有許多用于處理字符串的功能。在 Python 中,有多種方法可以輸出固定長度的字符串。下面將詳細(xì)介紹
python如何統(tǒng)計字符串中字母個數(shù)
Python中統(tǒng)計字符串中字母個數(shù)的方法有多種,下面我會詳細(xì)介紹一些常用的方法。 方法一:使用循環(huán)遍歷字符串 該方法通過循環(huán)遍歷字符串中的每
評論