str类属性的宏(变量)
str-macros的Python项目详细描述
#str macros
一个极简的python包,允许根据基于字符串的类属性定义宏
wing命令:
```
pip install str macros用于
方便使用google adwords的工具。
让我们定义两个类adbanner和ad campaign:
`` python
姓名,网址,活动:
self.ad_id=ad_id
self.name=name
self.url=url
self.campaign=campaign
`````
,但一个重要的条件是,我们想对用户点击我们的横幅进行一些分析。为此,我们使用utm标签,我们希望banner
url采用以下格式:
``http://test.com/?utm_ad_name=test_ad&u;utm_campaign=test_campaign````
所以,当我们创建广告时,我们指定的不是真正的url,而是一个带有如下
宏的url:
``python
campaign=adcampaign(1,"test campaign")
banner=adbanner(
id=1,
name='banner[banner id]活动[活动名称][随机],
url='http://test.ru/?utm_u name=[banner_u name],
campaign=campaign
``````
因此,我们这里有四个宏:
`````[banner_id],[campaign_name],[banner_name],[random]```我们希望在创建并将信息发送到google时启用它们。
``python
import random
self:self.campaign.name,
"横幅名称":lambda self:self.name,
"随机":lambda self:str(random.randint(1100)),
}
def\uu init(self,ad-id,name,url,campaign):
self.ad-id=ad-id
self.name=name
self.url=url
self.campaign=campaign
```
ok,现在我们有了用于字段(属性)的变量,这些字段(属性)在宏字段中定义,宏映射:每个变量都应该执行的宏。
r要在其中查找模式的属性列表ue to str fields-pattern should
应该在**[]**.
注意:如果在宏映射中指定了一个函数,该函数使用在宏字段中指定的
字段,则您将在无限递归中结束
,因此-不要犯这样的错误。例如:
`` python
宏字段=(
'名称','url'
)
宏映射={
'横幅名称':lambda self:self.name
危险!
因此:
`` python
campaign=adcampaign(1,'test campaign')
banner=adbanner(
id=1,
name='banner[banner_id]for campaign[ca]mpign_name][random]',
url='http://test.ru/?utm_name=[banner_name],
campaign=campaign
我)
1为竞选测试活动5
adbanner.stop_macros()
print(banbanbanner.name)
并再次禁用
从str_macros import enabled_macros
adbanner.is_macros_enabled()false
with enabled_macros(adbanner):
_宏导入启用宏
@enable_macros(adbanner)
def send_data():
宏在此启用
pass
`````
django
/>dmitry abramov©;
一个极简的python包,允许根据基于字符串的类属性定义宏
wing命令:
```
pip install str macros用于
方便使用google adwords的工具。
让我们定义两个类adbanner和ad campaign:
`` python
姓名,网址,活动:
self.ad_id=ad_id
self.name=name
self.url=url
self.campaign=campaign
`````
,但一个重要的条件是,我们想对用户点击我们的横幅进行一些分析。为此,我们使用utm标签,我们希望banner
url采用以下格式:
``http://test.com/?utm_ad_name=test_ad&u;utm_campaign=test_campaign````
所以,当我们创建广告时,我们指定的不是真正的url,而是一个带有如下
宏的url:
``python
campaign=adcampaign(1,"test campaign")
banner=adbanner(
id=1,
name='banner[banner id]活动[活动名称][随机],
url='http://test.ru/?utm_u name=[banner_u name],
campaign=campaign
``````
因此,我们这里有四个宏:
`````[banner_id],[campaign_name],[banner_name],[random]```我们希望在创建并将信息发送到google时启用它们。
``python
import random
self:self.campaign.name,
"横幅名称":lambda self:self.name,
"随机":lambda self:str(random.randint(1100)),
}
def\uu init(self,ad-id,name,url,campaign):
self.ad-id=ad-id
self.name=name
self.url=url
self.campaign=campaign
```
ok,现在我们有了用于字段(属性)的变量,这些字段(属性)在宏字段中定义,宏映射:每个变量都应该执行的宏。
r要在其中查找模式的属性列表ue to str fields-pattern should
应该在**[]**.
注意:如果在宏映射中指定了一个函数,该函数使用在宏字段中指定的
字段,则您将在无限递归中结束
,因此-不要犯这样的错误。例如:
`` python
宏字段=(
'名称','url'
)
宏映射={
'横幅名称':lambda self:self.name
危险!
因此:
`` python
campaign=adcampaign(1,'test campaign')
banner=adbanner(
id=1,
name='banner[banner_id]for campaign[ca]mpign_name][random]',
url='http://test.ru/?utm_name=[banner_name],
campaign=campaign
1为竞选测试活动5
adbanner.stop_macros()
print(banbanbanner.name)
并再次禁用
从str_macros import enabled_macros
adbanner.is_macros_enabled()false
with enabled_macros(adbanner):
_宏导入启用宏
@enable_macros(adbanner)
def send_data():
宏在此启用
pass
`````
django
/>dmitry abramov©;