1.#如果列表的第三个参数为负数表示逆向读取,以下实例用于翻转字符串

def reverseWords(input):#通过空格将字符串分割,把各个单词分割为listinputWords = input.split(" ")#翻转字符串 #假设列表 list=[1,2,3,4], list[0]=1,list[1]=2,而-1表示最后一个元素 list[-1]=4(与list[3]=4一样)#inputWords[-1::-1]有三个元素,第一个-1代表最后一个元素;第二个参数空,表示移动到list末尾;第三个步长-1表示逆向inputWords = inputWords[-1::-1]#重新组合字符串output = ' '.join(inputWords)return  outputif __name__ == "__main__":input = 'I like runoob'#input=("\n\n")rw = reverseWords(input)print(rw)

2.Tuple 元组

与列表类似,不同之处在于元组的元素不能修改。元组写在小括号里(),用逗号隔开。

元组中的类型可以不同

tuple = ('abcd',786,2.23,'runoob',70.2)
tinytuple = (123,'runoob')print(tuple)
print(tuple[-1::-1])#tuple也支持翻转
print(tuple[2:])
print(tinytuple)
print(tinytuple[0])
print(tinytuple[-1::-1] * 2)
print('connect:',tuple+tinytuple)

#虽然tuple的元素不可改变,但它可以包含可变对象,比如list列表

tuple1 = ('abcd',123,[1,2,3,4])
print(tuple1)
print('tuple1.type():',type(tuple1))
print(tuple1)
#tuple1[2]=([1,2,4,4])TypeError: 'tuple' object does not support item assignmentlist1 = [1,2,3,4]
tuple2 =('abcd',123,list1)
print('tuple2old:',tuple2)
list1[2]=5
print('tuple2new:',tuple2)

#元祖与字符串类似,可以被索引且下标索引从0开始,-1为末尾开始的位置,也可以进行截取

tup=(1,2,3,4,5,6)
print(tup[0])
print(tup[5])
print('tup第二到第五:',tup[1:5])

#构造包含0个或者1个元素的元祖比较特殊,所以有一些额外的语法规则:

tup1=()
tup2=(20,)#单个元组的写法上必须带逗号以证明
tup3=(30)
print(tup1,'的类型是',type(tup1))
print(tup2,'的类型是',type(tup2))
print(tup2[0])
print('tup3',tup3,'的类型是',type(tup3))#不带逗号则不认为属于元祖

string list tuple都属于sequence(序列)

#1.与字符串一样,元祖的元素不能修改。

#2.元祖也可以被索引和切片,方法一样。

#3.注意构造包含0或1个元素的元祖的特殊语法规则。

#4.元祖可以使用+操作符进行拼接

3.SET集合

集合(set) 是由一个或者数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。

基本功能是进行成员关系测试和删除重复元素。

可以使用大括号{}或者set()函数创建集合,注意:创建一个空集合必须用set(),{}用来创建一个空字典。

#创建格式

#parame={value1,value2,...}

#或者

#set(value)

sites = {'Google','Taobao','Runoob','Facebook','Zhihu','Baidu','Baidu'}
print('sites\'s type is ',type(sites))
sites1 = {}
print('sites1\'s type is ',type(sites1))
sites2 = ()
print('sites2\'s type is ',type(sites2))
#sites3 = set(12345)TypeError: 'int' object is not iterable
sites3 = set('12345')
print('sites3\'s type is ',type(sites3))

#输出集合重复的元素会被自动过滤掉

sites = {'Google','Taobao','Runoob','Facebook','Zhihu','Baidu','Baidu'}print('sites=',sites)#输出集合重复的元素会被自动过滤掉
#成员测试
if 'Runoob' in sites:print('Runoob在集合中')
else:print('Runoob不在集合中')#set可以进行集合运算,集合会过滤重复元素
a = set('abracadabra')
b = set('alaczam')
print(a)
print(b)
#计算差集
print(a - b)
print(b - a)
#计算并集
print(a | b)
#计算交集
print(a & b)
#计算非交集
print(a ^ b)

4.Dictionary 数据字典

字典dictionary是Python中另一个非常有用的内置数据类型。

列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典中的元素是通过键来存取的,而不是通过偏移存取。

字典类型是一种映射类型,字典用{}标识,它是一个无序的键(key):值(value)的集合。

键(key)必须使用不可变类型。

在同一个字典中,键(key)必须是唯一的。

dict = {}#看起来像set()但设置集合为空只用set()这一种写法
dict['one'] = "1 - 菜鸟工程"
dict[2] = "2 - 菜鸟工程"tinydict = {'name':'runoob','code':1,'site':'www.runboob.com'}print(dict['one'])
print(dict)
print(tinydict)
print(tinydict['name'])
print(tinydict.keys())
print(dict.keys())
print(dict.values())

另外,字典类型 也有一些内置函数,例如clear(),keys(),values()等

注意:

1.字典是一种映射类型,它的元素是键值对。

2.字典关键字必须为不可变类型,且不能重复。

3.创建空字典使用{}。

5.Python数据类型转换

       1)语法 int(x[,base])

  • x -- 字符串或数字。
  • base -- 进制数,默认十进制。

int(x[,base]) 将 x转换为一个整数,base表示进制 默认十进制,0也为十进制

x = 1
print('x=',x,'x为',type(x))
#int(x,0)
#print('x=',x,'x为',type(x))#TypeError: int() can't convert non-string with explicit base 非字符串类型似乎无法进行进制转换
x = '10'
y = int(x,0)#类型转换后得将值传到另一个参数才起作用
print('x=',x,'x为',type(x))
print('y=',y,'y为',type(y))
y = int(x,2)
print('x=',x,'x为',type(x))
print('y=',y,'y为',type(y))

       2)语法 float([x])

  • x -- 整数或字符串

float(x)将x转换为浮点数

#float(x)将x转换为浮点数
x = 1
y = float(x)
print(y,'类型为',type(y))
x = '1'
y = float(x)
print(y,'类型为',type(y))
y = int(x)
print(y,'类型为',type(y))
x = 1.0
y = int(x)
print(y,'类型为',type(y))

      3)语法 complex([real[, imag]])

complex(real[,imag]) 创建一个复数

#real -- int, long, float或字符串;

#imag -- int, long, float;

      4)语法str(object='')

  • object -- 对象。

str(x) 将对象x转换为字符串

#str(x) 将对象x转换为字符串
s = 'number'
print('s的类型为',type(s))
p = str(s)
print('p的类型为',type(p))
t = 1,2,3,4#以下结果你会发现 会被默认为元组,意思默认会带着小括号
print('t的类型为',type(t))
p = str(t)
print('p的类型为',type(p))
t1 = [1,2,3,4]#直接会判定为 list由于[]中括号
print('t1的类型为',type(t1))
p = str(t1)
print('p的类型为',type(p))

     

      5)语法repr(object)

  • object -- 对象。

repr(x) 将对象x转换为表达式字符串

主要针对于在解释器中,repr()会把传入的对象解释为字符串,原来已经是字符串的加上双引号""标识

而在正常的编译器结果则没有明显的区分,不知道具体用在何处,待今后实际场景进行补充;

#repr(x) 将对象x转换为表达式字符串
x = 'bsd'
print(type(x))
y = repr(x)
print(type(y))x = 10
print(type(x))
y = repr(x)
print(type(y))

      6)语法:eval(expression[, globals[, locals]])

eval(str)用来计算在字符串中有效的python表达式,并返回一个对象

expression -- 表达式。
  • globals -- 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。
  • locals -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。

    实际上通过实验暂时并未发现有什么相当特殊的地方,当前先记录为“可将含运算字符串,做一些运算的函数”

x = 132
y = eval('3 * x')
print(y)
str = '3 * x'
y1 = eval(str)
print('y1结果',y1)
z = eval('pow(2,3)')
print(z)
n = 10
t = eval('10-n')
print(t)

      7)语法 :tuple( iterable )

  • iterable -- 要转换为元组的可迭代序列

tuple(s) 将序列s转化为一个元组

tuple 函数将可迭代系列(如列表)转换为元组

返回值会是一个元组

l = 1,2,3,4,5
print('l为',l,'数据类型为',type(l))
l1 = [1,2,3,4,5]
print('l1为',l1,'数据类型为',type(l1))
t = tuple(l1)
print('t为',t,'数据类型为',type(t))

      8)语法:list( seq )

list(s) 将序列s转换为一个列表

list() 方法用于将元组或字符串转换为列表。

注:元组与列表是非常类似的,区别在于元组的元素值不能修改,元组是放在括号中,列表是放于方括号中。

l = 1,2,3,4,5
print('l为',l,'数据类型为',type(l))
t = list(l)
print('t为',t,'数据类型为',type(t))
str = 'wqnmlgb'
print('str为',str,'数据类型为',type(str))
t = list(str)
print('t为',t,'数据类型为',type(t))

      9)语法:class set([iterable])

  • iterable -- 可迭代对象对象;

set(s) 转换为集合

set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。

l = 1,2,3,4,5
print('l为',l,'数据类型为',type(l))
t = set(l)
print('t为',t,'数据类型为',type(t))
str = 'wqnmlgb'
print('str为',str,'数据类型为',type(str))
t = set(str)
print('t为',t,'数据类型为',type(t))

      10)语法:class dict(**kwarg)

                   class dict(mapping, **kwarg)

                   class dict(iterable, **kwarg)

dict(d) 创建一个字典,d必须是一个(key,value) 元祖序列。

  • **kwargs -- 关键字
  • mapping -- 元素的容器。
  • iterable -- 可迭代对象

未完,待续--2020年10月10日17:31:35

      11)语法:frozenset([iterable])

  • iterable -- 可迭代的对象,比如列表、字典、元组等等。

frozenset(s)转换为不可变集合

frozenset() 返回一个冻结的集合,冻结后集合不能再添加或删除任何元素。

返回新的 frozenset 对象,如果不提供任何参数,默认会生成空集合。

a = frozenset(range(10))
print(a)
print('a的type为',type(a))
list1 = [1,2,3,4,5]
print(type(list1))
b = frozenset(list1)
print('b=',b,'b的类型为',type(b))

无论在编译器或者在调试器中,frozenset类型表现都是({xxx}),基于上下py3的演示结果,菜鸟的实例可能存在错误

      12)语法:chr(i)

  • i -- 可以是10进制也可以是16进制的形式的数字。
  • chr() 用一个范围在 range(256)内的(就是0~255)整数作参数,返回一个对应的字符。

chr(x) 将一个整数转换为一个字符

a = chr(10)
print('a=',a,'type(a)=',type(a))
print(a)
b = chr(48)
print(b)
print(type(b))print('chr(43)=',chr(43),'type(chr(43))=',type(chr(43)))
print('chr(44)=',chr(44),'type(chr(44))=',type(chr(44)))
print('chr(45)=',chr(45),'type(chr(45))=',type(chr(45)))
print('chr(46)=',chr(46),'type(chr(46))=',type(chr(46)))
print('chr(50)=',chr(50),'type(chr(50))=',type(chr(50)))

的确输出了一些结果,但目前并不明白chr(x)这种类型转换用在什么地方,后续补充

      13)语法:ord(x)

  • x-- 字符。

ord(x) 将一个字符转换为它的整数值

ord() 函数是 chr() 函数(对于8位的ASCII字符串)或 unichr() 函数(对于Unicode对象)的配对函数,它以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值,如果所给的 Unicode 字符超出了你的 Python 定义范围,则会引发一个 TypeError 的异常。

返回值是对应的十进制整数。

a = ord('a')
b = ord('b')
c = ord('c')
print('ord(a)=',a,'type=',type(a))
print('ord(b)=',b,'type=',type(b))
print('ord(c)=',c,'type=',type(c))

执行结果如下,目前尚不清楚具体可用的场景,后续补充

      14)语法hex(x)

  • x -- 10进制整数

hex() 函数用于将10进制整数转换成16进制,以字符串形式表示。

 将一个整数转换为一个十六进制字符串

a = hex(1)
b = hex(22)
c = hex(333)
d = hex(4444)
print('a=',a,'type=',type(a))
print('b=',b,'type=',type(b))
print('c=',c,'type=',type(c))
print('d=',d,'type=',type(d))

执行结果如下,目前尚不清楚具体可用的场景,后续补充

      15)语法:oct(x) 

  • x -- 整数。
  • Python2.x 版本的 8 进制以 0 作为前缀表示。
  • Python3.x 版本的 8 进制以 0o 作为前缀表示

将一个整数转换为一个八进制字符串返回 8 进制字符串。

a = oct(1)
b = oct(22)
c = oct(333)
d = oct(4444)
print('a=',a,'type=',type(a))
print('b=',b,'type=',type(b))
print('c=',c,'type=',type(c))
print('d=',d,'type=',type(d))

Python3 笔记3 基本数据类型2相关推荐

  1. TypeScript学习笔记2:数据类型

    TS 和 JS 相对比的优势 TypeScript的安装步骤.运行问题及代码的简单运行 TypeScript学习笔记1:变量赋值及书写方式 TypeScript学习笔记2:数据类型 文章目录 数据类型 ...

  2. Java学习笔记二:数据类型

    Java学习笔记二:数据类型 1. 整型:没有小数部分,允许为负数,Java整型分4种:int short long byte 1.1 Int最为常用,一个Int类型变量在内存中占用4个字节,取值范围 ...

  3. Python3 —— 变量和简单数据类型

    Python3 -- 变量和简单数据类型 目录 python3 -- 变量和简单数据类型 一.变量 1.变量(每个变量都存储了一个值--与变量相关联的信息) 2.变量命名 二.简单数据类型(整型,浮点 ...

  4. c语言用户自己建立数据类型,C语言程序设计学习笔记--用户建立数据类型

    C语言程序设计学习笔记--用户建立数据类型. 9.1定义和使用结构体变量 1.定义:C语言允许用户自己建立不同类型数据组合成的组合型数据类型就是结构体 2.形式: struct 结构体名 { 成员表列 ...

  5. Scala学习笔记02:数据类型、常量与变量

    Scala学习笔记02:数据类型.常量与变量 一.数据类型 1.基本数据类型 Byte 字节型 Short 短整型 Int 整型 Long 长整型 Char 字符型 String 字符串 Float ...

  6. python3笔记5--循环语句

    python3笔记–循环语句 在python中的循环语句有for循环和while循环. 一.for循环 for循环可以遍历自己想要的任何序列的项目,比如列表,字典,元组,字符串等. 1.for循环的一 ...

  7. Python-3.7.0常用数据类型源码—列表

    Python-3.7.0常用数据类型源码-列表 list源码: /* List object implementation */#include "Python.h" #inclu ...

  8. 2. Python3 变量和简单数据类型

    变量 Python 中的变量不需要声明.每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建. 在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内 ...

  9. python基本数据类型(四)-集合与运算符-python3笔记

    1.集合 2.字典 3.运算符优先级 1.集合 创建:() set() 注意:创建空的集合要用set() 特点:元素唯一,无序 运算: &(交集) |(并集) -(差集) 方法: s.add( ...

最新文章

  1. 女生学软件测试有哪些优势
  2. 图像几何变换之透视变换
  3. 四部门发文!坚决避免数据中心盲目无序发展
  4. react引入外部js_React.js:无需使用外部库即可实现拖放功能
  5. Docker 安装、镜像、dockerfile、容器、仓库
  6. usaco2.11Ordered Fractions
  7. python下的MySQLdb使用
  8. JSP编程技术3-服务器时钟示例
  9. python读取txt文件
  10. 用正则表达式抓取网页图片
  11. HTML+CSS仿小米官网首页 项目总结
  12. 文件上传(WebUploader)成功之前自定义裁剪(vue-img-cutter),上传裁剪的图片,并兼容ie
  13. matlab熵权法,matlab—熵权法
  14. BigWorld Server - Architecture
  15. 正则-完美的身份证以及真实姓名
  16. 关于微星主板官网下载网卡驱动后,网络适配器消失的问题
  17. ACM / ICPC 在线OJ(Online judge)
  18. Javaweb——水果系统基础版
  19. Agent with Tangent-based Formulation and Anatomical Perception for Standard Plane Localization in 3D
  20. 编程竞赛_编程竞赛和挑战清单

热门文章

  1. 小白如何学习操作系统?
  2. 不要将创业,当成你逃避现实,不努力的借口!
  3. Gradle多渠道打包(动态设定App名称,应用图标,替换常量,更改包名,变更渠道)
  4. 巩膜分割论文:ScleraSegNet: an Improved U-Net Model with Attention for Accurate Sclera Segmentation
  5. 什么是广义表、广义表及定义详解
  6. AS中码云的使用入门
  7. 开维控制精灵 Ctrl js 华为手机群发短信
  8. 从linux启动到rootfs的挂载分析 https://blog.csdn.net/kevin_hcy/article/details/17663341
  9. 美国挤压阿里不是好兆头
  10. 工业表面缺陷检测数据集汇总