python占位符的用法:*>8什么意思

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python占位符的用法:*>8什么意思相关的知识,希望对你有一定的参考价值。

参考技术A #占位符;
x=8.12#构造变量;
print(f"x:*>8")#打印输出x,总长为8的字符串,且向右对齐,不够长度8时向左填充"*";
'''
****8.12
'''

Python sqlite3 构建带有动态占位符的部分

【中文标题】Python sqlite3 构建带有动态占位符的部分【英文标题】:Python sqlite3 build where part with dynamic placeholders 【发布时间】:2014-10-17 15:55:11 【问题描述】:

我有一个包含 4 个输入字段的表单,当单击提交按钮时,我会根据这 4 个输入从数据库中获取结果。我没有强迫用户输入任何输入,所以我可以让所有空白输入或其中一部分为空。用户填写的输入越多,来自数据库的结果就越精确。

我的问题是如何仅使用已填充的占位符动态构建查询的 where 部分。这是我的查询。这样,如果其中一个输入为空,则查询将不会获取任何内容,而我的意图恰恰相反:如果输入为空,则在查询数据库时不要考虑。

cursor.execute('''
        SELECT name, id, gender, age, address, phones, mails, gender, age, hair_color                     
        FROM persons
        WHERE 
           name = ? AND            
           id = ? AND 
           gender = ? AND 
           age = ? 
        ''', (name_input, id_input, gender_input, age_input))

【问题讨论】:

【参考方案1】:

您可以动态创建 WHERE 子句:

sql = "SELECT ... WHERE 1"
parameters = []
if name_input != "":
    sql += " AND name = ?"
    parameters += [name_input]
if id_input != "":
    sql += " AND id = ?"
    parameters += [id_input]
...

或者,重写 WHERE 子句以便忽略空值:

SELECT ... WHERE (name = ?1 OR ?1 = '') AND (id = ?2 OR ?2 = '') AND ...

(?n specifies the n-th parameter.)

【讨论】:

以上是关于python占位符的用法:*>8什么意思的主要内容,如果未能解决你的问题,请参考以下文章

python中的%s%是什么意思

Sass之继承,混合宏,占位符的用法总结

Firefox 23.0.1 Chrome 23.0.1271.64 和 IE 8 之间占位符的字体颜色差异

Python sqlite3 构建带有动态占位符的部分

用于 chrome 占位符的字体的 css 技巧

Lua中string.format占位符的使用