当前位置: 首页 > news >正文

b2b网站的主要功能和作用是什么/百度关键词优化师

b2b网站的主要功能和作用是什么,百度关键词优化师,网站做支付接口,温州市建设安监局网站文章目录python中常见内置类型简介数值类型(Numeric Types)顺序类型(Sequence)ListTupleRange映射(Mappings)dict的构建dict的方法小结python中常见内置类型简介 根据python官方文档的介绍,pyt…

文章目录

  • python中常见内置类型简介
    • 数值类型(Numeric Types)
    • 顺序类型(Sequence)
      • List
      • Tuple
      • Range
    • 映射(Mappings)
      • dict的构建
      • dict的方法
    • 小结

python中常见内置类型简介

根据python官方文档的介绍,python中主要的内置类型包括数值(Numeric)顺序(Sequence)映射(Mappings)类与类的实例对象(Class & Instances)以及异常(exception)

这里就仅对数值(Numeric)顺序(Sequence),**映射(Mappings)**这三种最常见的的方法作小结

数值类型(Numeric Types)

python中的数值类型主要包括以下三种类型

  • integers:对应于int类型
  • floating pioint numbers:对应于float类型
  • complex numbers:对应于complex类型

其中需要注意的是,Booleans类型是integer类型的一个子类。且python中的float类型对应于C语言中的double类型。通常,数值类型可以直接字面创建活着通过构造器创建,实例代码如下

a=1
b=1.0
a1=int(1)
b1=float(1)
print(type(a))	# <class 'int'>
print(type(b)) 	# <class 'float'>
print(type(a1))	# <class 'int'>
print(type(b1)) 	# <class 'float'>

complex类型则是复数类型,也就是高中所学设计实部和虚部的数,该类型基本不使用,这里便不作赘述

顺序类型(Sequence)

在python中常见顺序类型主要包括三种,分别是listtuple以及range。还有其他专门为二进制数和文本字符串量身定制的顺序容器这里也不在赘述,有兴趣的同学可以查看bytearray类型和str了解。这里同样仅就最常见的顺序类型作总结。

关于上述三种顺序类型,可将其分为两种,分别是可变类型和不可变类型。顾名思义,评判的标准就是是否能对该类型的数据进行增删改操作。

  • 可变类型:可以对该类型的对象实例进行增删改操作,代表类型有``list`
  • 不可变类型:不能对该对象实例进行增删改操作,代表类型tuple以及range

List

构造一个list实例对象的方法常见的有如下几种

y = []
y1 = list()
y2 = list
print(y)	# []
print(y1) # []
print(y2) # <class 'list'>

注意看,其中第一第二种方法都可以成功获得list对象,但在打印第三种方法构造出来的对象时返回的却是其类型名。这里在做进一步尝试,请看如下代码

y2 = list
y3 = list
print(y2==y3) # ture

由此可知,如果在调用构造器时,没有加(),则会返回其类型。

有了list对象,接下来就可以对其进行系列增删改操作,这里列举几种常见的增删改操作如下

y1.append(1) # 向y1种增加元素 1
print(y1) # [1]y1+='2'
# y1+=2 报错
print(y1) #[1,'2'] 

注意:使用+=追加元素时,要求被追加元素应当是可迭代类型,这里int不是可迭代类型,而str是可迭代类型,因此可以使用+=方法。

那么疑问来了,究竟如何判断某个类型是否是可迭代类型呢?这里提供一个方法,使用下属代码方法

from collections import Iterableprint(isinstance(y1, Iterable)) #true

是不是又涨姿势了,以后用+=来秀操作了hhh。

此外,还有一些其他常见操作这里就直接列举了

y1.insert(i,x) #向y1中第[i]个元素的位置出插入元素x
y1.clear() # 	清除y1中所有数据
y1.remove(1) # 清除y1中的元素1
y1.pop([i]) # 取出y1中第[i]个元素,同时将其从容器中移除

Tuple

Tuple是不可变类型,也就是说一旦一个tuple被创建了,其内容就不可变了,官网中给出的构造方法是

class tuple([iterable])

其同样要求传入一个迭代类型来实现tuple的创建,常见使用方法如下

k = (1,2,3)
print(k) # (1,2,3)k1 = tuple(1) # 报错!1不是迭代类型
k1 = tuple([1]) # 正确

Range

Range类型在for循环中使用最多,官网给出的构造方法有

class range(stop)
class range(start, stop[, step])

这里直接给出官网的例子

>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list(range(1, 11))
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> list(range(0, 30, 5))
[0, 5, 10, 15, 20, 25]
>>> list(range(0, 10, 3))
[0, 3, 6, 9]
>>> list(range(0, -10, -1))
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
>>> list(range(0))
[]
>>> list(range(1, 0))
[]

映射(Mappings)

映射类官方文档给出的就只有dict,也就是字典类型一种。字典类型是可变类型,是一个存放着<k,v>键值对的容器,其有如下几种方法构建

dict(**kwarg)
dict(mapping, **kwarg)
dict(iterable, **kwarg)	# **kwarg表示 key=value的赋值

源码中给出的构造方法有

dict():创建一个空的字典类型

dict(mapping):构造方法,参数类型为mapping

dict(iterable):构造方法,参数类型为iterable

dict(**kwargs):构造方法,参数类型为key=value

当然除了上述几种方法,也可以组合实现

dict(mapping,**kwargs)

下面是官方文档给出的实例

>>> a = {'one': 1, 'two': 2, 'three': 3}
>>> b = dict({'three': 3, 'one': 1, 'two': 2})
>>> c = dict([('two', 2), ('one', 1), ('three', 3)])	
>>> d = dict(zip(['one', 'two', 'three'], [1, 2, 3]))	
>>> e = dict(one=1, two=2, three=3)
>>> f = dict({'one': 1, 'three': 3}, two=2)
>>> a == b == c == d == e == f
True

小结:也许大家被上面方法绕晕了,这里稍微来理一下思路,接着往下看,首先字典的创建有两种方法

dict的构建

  • 方法1:直接创建<k,y>对,不使用dict关键字。这种方法方便快捷,也经常使用,如

    构造方法1

    >>> a = {'one': 1, 'two': 2, 'three': 3}
    print(isinstance(a, Iterable)) # true
    print(isinstance(a, Mapping)) # true
    
  • 同时我们也可以看到,字典类型既是iterable也是mapping


  • 方法2:使用dict构造方法,通过向内部传参实现字典对象的构造,根据传参内容还可以分为如下几种

    1. 传递mapping类型:代码实例如下:

      构造方法2

      >>> b = dict({'three': 3, 'one': 1, 'two': 2})
      
      • 很明显,这种方法就相当于调用了b=dict(a),因为a就是mapping类型

    2. 传递iterable类型:代码实例如下:

      k = [('two', 2), ('one', 1), ('three', 3)]	# list类型
      m = dict(k)
      print(isinstance(k, Iterable)) 	 # true
      print(isinstance(k, Mapping))  	 # false
      print(isinstance(m, Iterable))   # true
      print(isinstance(m, Mapping))	  	# true
      
      • 由此可以发先,除了给dict传入mapping类型的数据外,还可以给其传入iterable型的数据,最典型的就是listtuple型数据。但是否是任意的listtuple都可以传呢?接着往下看。
      k = [(1, 2, 1), (2, 3, 4)]
      m = dict(k) # 报错
      

      ValueError: dictionary update sequence element #0 has length 3; 2 is required

      • 由此可知,如果希望向dict中传入iterable类型的数据让其成为mapping,就必须保证传入的数据的元素个数为2,也就是这里要求list中的每个元素的长度都为2。由此可知,如果希望让iterable的数据转换为mapping,最理想的容器是使用list而非tuple

      构造方法3

      >>> c = dict([('two', 2), ('one', 1), ('three', 3)])	
      

      • 此外,python中也提供了一个zip工具,帮助实现一维list的二维化,请看如下代码
      z = zip(['one', 'two', 'three'], [1, 2, 3])
      print(z)		# <zip at 0x7fb23119ca40> for data in z:print(data)		#	('one', 1) ('two', 2) ('three', 3)
      
      • 注意:这里python3以后为了节约内存,这里z封装成了地址,但仍然可以遍历查看zip后的数据。基于结果,很容易得出,经过zip后的数据内容为[('one', 1),('two', 2),('three', 3)]。即成功实现二维化,如此一来便可以再次构造dict对象,也就是如下代码

      构造方法4

      >>> d = dict(zip(['one', 'two', 'three'], [1, 2, 3]))	
      

    3. 传递**kwargs类型

      • 这里需要说明一下,在python中除了这里的**kwargs还有*args。这里稍稍提一下他两的区别。
        • **kwargs:表示key=value对,也就是一组必须严格使用a=b的格式传递的数据
        • *args:则表示单个数据,是一组单值变量。
      • 这里允许使用这种方法传递参数,也就很好理解了,请看如下代码

      构造方法5

      >>> e = dict(one=1, two=2, three=3)
      

    4. 传递(mapping,**kwargs)组合类型

      • 这种方法也就显而易见了,直接上代码

      构造方法6

      >>> f = dict({'one': 1, 'three': 3}, two=2)
      

dict的方法

有了dict对象,其对应的方法就很简单了,这里直接列出一些常用的方法

d = {'one': 1, 'two': 2, 'three': 3}# 根据key查询value
print(d['one'])# 查询所有key(返回list)
list(d.keys())  # ['one', 'two', 'three'] 转换成list
list(d)  # ['one', 'two', 'three'] 获得d的所有key# 增加key-value
d['four'] = 4# 删除key-value
del d['four']# 根据key 修改 value
d['three'] = 3# 删除所有元素
d.clear()# 浅拷贝
a = d.copy()# 获取对应key的value
d.pop('one')	# 1# 获取最后装入dict的key-value对
d.popitem()	# three 3# 获取key对应的value 无对应value则返回0
d.get('one',0)

小结

本文重点讲述python中的三种最常用的内置类型,其中listtupledict是python最常用的三种工具。在使用这些类型时,应当结合其具体特征,以及自身任务需求合理选择,才能最大限度发挥其作用。

http://www.jmfq.cn/news/5246281.html

相关文章:

  • 无锡做网站seo的/seo网站推广排名
  • 哪里有好的免费的网站建设/谷歌关键词搜索
  • 柳市做网站的公司/广州seo运营
  • 如何做垃圾网站赚钱/全网整合营销平台
  • 柳州网站建设公司/网站关键词优化教程
  • 网站建设制作设计优化兰州/seo推广是什么
  • 湘潭做网站优化/tool站长工具
  • 北京集团 网站建设/有域名有服务器怎么做网站
  • 可视化拖拽建站系统/怎么设置自己的网站
  • 大众团购网站怎么做/网站公司
  • 做企业网站设计价格是多少钱/建站推广
  • 做网站先买域名/百度投放广告平台
  • 迁安社会信用体系建设官方网站/做竞价推广大概多少钱
  • 手机网站信任从哪里设置/网络营销概念
  • 百度网站建设中心/测试自己适不适合做销售
  • 网站留言程序怎么做/怎么免费推广自己网站
  • 黑色炫酷灯饰照明科技企业商务网站模板/seo查询官网
  • 政府网站与门户网站的区别/seo的优化技巧和方法
  • 可以做微商的网站/网络促销方案
  • 做网站用什么web服务器吗/seo推广营销公司
  • 建设课程网站的目的/张家界百度seo
  • 阿里巴巴电子商务网站建设目的/b站视频推广app
  • 怎么选择网站开发/优化网站建设seo
  • 一般做网站用什么软件/推广普通话的重要意义
  • 教育网站模板/网上兼职外宣推广怎么做
  • 网站颜色正确搭配实例/达内教育
  • 普通网站和营销型网站的区别是什么/邀请注册推广赚钱
  • app导航网站源码/求几个微信推广平台
  • 电脑iis做网站/新闻平台发布
  • 9元建站节/成都网络推广哪家好