首页 > 其他分享 >template模板初步介绍(11)

template模板初步介绍(11)

时间:2022-11-22 14:45:31浏览次数:74  
标签:11 操作数 元组 template 字符串 列表 true 模板

template模板

文本文件,嵌套有脚本(使用模板编程语言编写) 借助模板生成真正的文件,

Jinja2语言

Jinja2是基于python模板引擎,功能比较类似于于PHPsmartyJ2eeFreemarkervelocity。 它能完全支持unicode,并具有集成的沙箱执行环境,应用广泛。jinja2使用BSD授权。
image.png

官网:http://docs.jinkan.org/docs/jinja2/

Jinja2语言,使用字面量,有下面形式
字符串:使用单引号或双引号
数字:整数,浮点数
列表:[item1, item2, ...]
元组:(item1, item2, ...)
字典:{key1:value1, key2:value2, ...}
布尔型:true/false
算术运算:+, -, *, /, //, %, **
比较操作:==, !=, >, >=, <, <=
逻辑运算:and,or,not
流表达式:For,If,When

字面量

  1. 表达式最简单的形式就是字面量。字面量表示诸如字符串和数值的 Python对象。如“Hello World” 双引号或单引号中间的一切都是字符串
    2.无论何时你需要在模板中使用一个字符串(比如函数调用、过滤器或只是包含或继承一个模板的参数),如4242.23
  2. 数值可以为整数和浮点数。如果有小数点,则为浮点数,否则为整数。在Python 里, 42 和 42.0 是不一样的

算术运算

算术运算 Jinja 允许你用计算值
这在模板中很少用到,但为了完整性允许其存在 支持下面的运算符
+:把两个对象加到一起。 通常对象是素质,但是如果两者是字符串或列表,你可以用这 种方式来衔接它们。 无论如何这不是首选的连接字符串的方式!连接字符串见 ~ 运算符。 {{ 1 + 1 }} 等于 2 ** -**:用第一个数减去第二个数。 {{ 3 - 2 }} 等于 1 /:对两个数做除法。返回值会是一个浮点数。 {{ 1 / 2 }} 等于 {{ 0.5 }}
//:对两个数做除法,返回整数商。 {{ 20 // 7 }} 等于 2
%:计算整数除法的余数。 {{ 11 % 7 }} 等于 4
***:用右边的数乘左边的操作数。 {{ 2 * 2 }} 会返回 4 .也可以用于重 复一个字符串多次。{{ ‘=’ * 80 }} 会打印 80 个等号的横条
** ****:取左操作数的右操作数次幂。 {{ 2
3 }} 会返回 8

比较操作符

** == **比较两个对象是否相等
!= 比较两个对象是否不等
> 如果左边大于右边,返回 true
>= 如果左边大于等于右边,返回 true
**< **如果左边小于右边,返回 true
**<= **如果左边小于等于右边,返回 true

逻辑运算符

对于 if 语句,在 for 过滤或 if 表达式中,它可以用于联合多个表达式
**and ** 如果左操作数和右操作数同为真,返回 true
**or ** 如果左操作数和右操作数有一个为真,返回 true
**not ** 对一个表达式取反(见下)
:::tips
(expr) 表达式组
['list', 'of', 'objects']: 一对中括号括起来的东西是一个列表。列表用于存储和迭代序列化的数据。 例如 你可以容易地在 for循环中用列表和元组创建一个链接的列表


    {% for href, caption in [('index.html', 'Index'), ('about.html', 'About'), ('downloads.html', 'Downloads')] %}

  • {{ caption }}
  • {% endfor %}
('tuple', 'of', 'values'): :::

元组

与列表类似,只是你不能修改元组。
如果元组中只有一个项,你需要以逗号结尾它。
元组通常用于表示两个或更多元素的项。
更多细节见上面的例子
{'dict': 'of', 'key': 'and', 'value': 'pairs'}:

字典

Python 中的字典是一种关联键和值的结构。
键必须是唯一的,并且键必须只有一个 值。
字典在模板中很少使用,罕用于诸如 xmlattr() 过滤器之类
** true / false: **
true 永远是 true ,而 false 始终是 false

标签:11,操作数,元组,template,字符串,列表,true,模板
From: https://www.cnblogs.com/yutoujun/p/16915043.html

相关文章

  • template(12)
    templatetemplate功能:根据模块文件动态生成对应的配置文件template文件必须存放于templates目录下,且命名为.j2结尾yaml/yml文件需和templates目录平级,目录结构如下:......
  • template流程控制for和if(12)
    template流程控制for和iftemplate中也可以使用流程控制for循环和if条件判断,实现动态生成文件功能for当我们需要创建如下类型的文件时server{listen80}server{......
  • 20221122 常用MySQL查询
    查询版本selectversion();查询表名和表注释selectTABLE_NAME,TABLE_COMMENTfromINFORMATION_SCHEMA.Tableswheretable_schema='daoancomp';查询表字段和注......
  • Template Method设计模式
    TemplateMethod动机(Motivation)在软件构建过程中,对于某一项任务,它常常有稳定的整体操作结构,但各个子步骤却有很多改变的需求,或者由于固有的原因(比如框架与应用之间的关系)而......
  • Mat_类模板
    先来段代码感受一下MatC=(Mat_<double>(3,3)<<0,-1,0,-1,5,-1,0,-1,0);MatD=(Mat_<double>(3,3)<<1,2,3,4,6,7,8,9,10);cout<<"C="<<......
  • C++11创建线程的三种方式
    1.通过函数thread:标准库的类join:阻塞主线程并等待//MultiThread.cpp:Definestheentrypointfortheconsoleapplication.#include"stdafx.h"#include<iostream>#i......
  • T292115 [传智杯 #5 练习赛] 树的变迁(并查集+倒序操作处理树分裂)
    T292115[传智杯#5练习赛]树的变迁题目大意:给定一棵具有\(n\)个节点的树,每个节点有一个初始权值\(a_i\)。一共需要进行\(m\)次操作,每次操作包括:1.1e编号......
  • 2022-11-22 Acwing每日一题
    本系列所有题目均为Acwing课的内容,发表博客既是为了学习总结,加深自己的印象,同时也是为了以后回过头来看时,不会感叹虚度光阴罢了,因此如果出现错误,欢迎大家能够指出错误,我......
  • 归并排序模板
    题目给定你一个长度为n的整数数列。请你使用归并排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。输入格式输入共两行,第--行包含整数n。第二行包含n个整......
  • 11.22 回顾面试题
    1.说一下vue的父子组件传参使用i自定义属性和自定义事件传参使用ref属性传参vuex传参2.说一下vue2和vue3的区别template是多个根标签因为fragment......