BRC-20铭文合约NFT铸造交易平台系统开发规则玩法/详细步骤/项目方案/成熟技术/源码功能

简介: 有时候,像定义add2()这类简单的函数,用def来正式地写个命名、计算和返回显得稍有点麻烦,Python支持用lambda对简单的功能定义“行内函数”

代码清单6:使用range生成等差数列

s = 0
if s in range(4):
print(‘s在0, 1, 2, 3中’)
if s not in range(1, 4, 1):
print(‘s不在1, 2, 3中’)

  1. 函数

Python用def来自定义函数,如代码清单7所示。

代码清单7:自定义函数

def add2(x):
return x+2
print(add2(1)) # 输出结果为3

与一般编程语言不同的是,Python的函数返回值可以是各种形式,可以返回列表,甚至返回多个值,如代码清单8所示。

代码清单8:返回列表和返回多个值的自定义函数

def add2(x = 0, y = 0): # 定义函数,同时定义参数的默认值
return [x+2, y+2] # 返回值是一个列表
def add3(x, y):
return x+3, y+3 # 双重返回
a, b = add3(1,2) # 此时a=4,b=5

有时候,像定义add2()这类简单的函数,用def来正式地写个命名、计算和返回显得稍有点麻烦,Python支持用lambda对简单的功能定义“行内函数”,这有点像MATLAB中的“匿名函数”,如代码清单9所示。

代码清单9:使用lambda定义函数

f = lambda x : x + 2 # 定义函数f(x)=x+2
g = lambda x, y: x + y # 定义函数g(x,y)=x+y

03 数据结构

Python有4个内建的数据结构—List(列表)、Tuple(元组)、Dictionary(字典)以及Set(集合),它们可以统称为容器(Container),因为它们实际上是一些“东西”组合而成的结构,而这些“东西”可以是数字、字符、列表或者是它们之间几种的组合。

通俗来说,容器里边是什么都行,而且容器里边的元素类型不要求相同。

  1. 列表/元组

列表和元组都是序列结构,它们本身很相似,但又有一些不同的地方。

从外形上看,列表与元组存在一些区别是。列表是用方括号标记的,如a = [1, 2, 3],而元组是用圆括号标记的,如b = (4, 5, 6),访问列表和元组中的元素的方式都是一样的,如a[0]等于1,b[2]等于6,等等。刚刚已经谈到,容器里边是什么都行,因此,以下定义也是成立的:

c = [1, ‘abc’, [1, 2]]
‘’’
c是一个列表,列表的第一个元素是整型1,第二个是字符串’abc’,第三个是列表[1, 2]
‘’’

从功能上看,列表与元组的区别在于:列表可以被修改,而元组不可以。比如,对于a = [1, 2, 3],那么语句a[0] = 0,就会将列表a修改为[0, 2, 3],而对于元组b = (4, 5, 6),语句b[0] = 1就会报错。

要注意的是,如果已经有了一个列表a,同时想复制a,并命名为变量b,那么b = a是无效的,这时候b仅仅是a的别名(或者说引用),修改b也会修改a。正确的复制方法应该是b = a[:]。

跟列表有关的函数是list,跟元组有关的函数是tuple,它们的用法和功能几乎一样,都是将某个对象转换为列表/元组,如list(‘ab’)的结果是[‘a’, ‘b’],tuple([1, 2])的结果是(1, 2)。一些常见的与列表/元组相关的函数如下所示。

cmp(a, b):比较两个列表/元组的元素
len(a):列表/元组元素个数
max(a):返回列表/元组元素最大值
min(a):返回列表/元组元素最小值
sum(a):将列表/元组中的元素求和
sorted(a):对列表的元素进行升序排序

此外,作为对象来说,列表本身自带了很多实用的方法
(元组不允许修改,因此方法很少),如下所示。

a.append(1):将1添加到列表a末尾
a.count(1):统计列表a中元素1出现的次数
a.extend([1, 2]):将列表[1, 2]的内容追加到列表a的末尾
a.index(1):从列表a中找出第一个1的索引位置
a.insert(2, 1):将1插入列表a中索引为2的位置
a.pop(1):移除列表a中索引为1的元素

最后,不能不提的是“列表解析”这一功能,它能够简化我们对列表内元素逐一进行操作的代码。使用append函数对列表元素进行操作,如代码清单10所示。

代码清单10:使用append函数对列表元素进行操作

a = [1, 2, 3]
b = []
for i in a:
b.append(i + 2)

使用列表解析进行简化,如代码清单11所示。

代码清单11:使用列表解析进行简化

a = [1, 2, 3]
b = [i+2 for i in a]

相关文章
|
2月前
|
存储 缓存 算法
NFT元宇宙盲盒质押合约系统开发|成熟方案|指南详情
区块链技术的核心思想是去中心化,数据不存储在单一的中心服务器上,而是分布在多个节点中。
|
3月前
|
存储 监控 测试技术
BRC铭文NFT铸造交易所系统开发运营版丨需求设计丨方案逻辑丨案例详细丨源码程序
需求分析:首先,明确系统的功能需求和业务流程。确定系统需要支持的NFT铸造功能、交易所功能
|
3月前
|
存储 监控 关系型数据库
BRC20铭文合约NFT铸造交易平台系统开发稳定版/方案详细/步骤逻辑/源码指南
网络拓扑结构:设计一个稳定且高性能的网络拓扑结构对于BRC20铭文智能合约跨链系统的成功运行至关重要。
|
8月前
|
区块链 存储
NFT链游铸造合成项目系统开发(详情方案)|NFT链游模式开发项目原理
Web3技术的兴起已经带来了我们与互联网互动方式的重大转变using(MySqlCommand cmd=new MySqlCommand(select,Conn))
|
9月前
|
区块链 数据库 数据安全/隐私保护
IPPswap代币合约开发案例版丨IPPswap代币合约系统开发详细程序/规则玩法/方案介绍/源码平台
 Pledged mining refers to holding a certain amount of digital currency and locking it onto the blockchain network to obtain corresponding mining rewards.Pledge refers to locking a certain amount of digital currency in a blockchain network to prove one's support and participation in the network.
|
9月前
|
TensorFlow API 区块链
合约跟单开发案例丨合约跟单对接API火币/币安/OK交易所系统开发逻辑方案/成熟技术/项目案例/源码平台
dapp定制开发技术主要包括以太坊智能合约定制开发,包括智能合约语言Solidity开发,以太坊智能合约框架Truffle开发,Web3.js开发,以太坊区块链浏览器Mist开发等。这些技术可以帮助开发者快速构建出功能强大、可靠性高的dapp。
|
7月前
|
区块链
NFT系统开发|NFT铸造合约交易项目系统开发指南与方案
要理解智能合约的概念和作用,首先需要了解区块链的基本架构
|
8月前
|
区块链 供应链 安全
现货合约跟单交易所系统开发(成熟源码)|秒合约系统搭建案例
智能合约和去中心化应用的发展一直在逐步推进
|
8月前
|
安全 算法 网络协议
DAPP借贷质押模式系统开发|玩法规则|模式方案
智能合约是指一种独立的、自动执行的代码
|
8月前
|
安全 区块链
BSC链盲盒游戏系统开发详情案例丨dapp链上合约盲盒游戏系统开发方案项目/逻辑规则/成熟技术/源码功能
  DApp(去中心化应用程序)盲盒游戏系统的开发涉及到在区块链上构建和运行盲盒游戏。