Python全栈day 05

一、数据类型补充

1. int

  • py2和py3的2种区别

    1. py2有int和long,int的取值范围为-231~231-1,超出范围自动转为long,长整型。
    2. py2的整型除法只保留整数,py3保留所有。
    3. 强制转换:只有''和0转为bool值时为False,其余为True。

2. bool

  • 强制转换

    bool(int), 0转换为False

    bool(str),''转换为False

    bool(list) , []转换为False

    bool(tuple),()转换为False

3. str

  • 独有方法:

    t = " naME "
    t.lower() t.upper() #大小写
    t.split() t.lstrip() t.rstrip() #俩端去空格,左端去空格,右端去空格
    t.replace('','',n) #替换
    t.isdigit() #是否能转为数字
    t.strip() t.rsplit() #分割
    t.startswith('') t.endswith('') #是否以''开头,结尾
    t.format() #字符串格式化
    t.encode() #以制定的编码格式编码字符串 较为重要
    '-5-'.join(t) #循环t的每个字符,把'-5-'当做分割符加入到里面,得到新的字符串
  • 公共功能

    索引/长度len/切片/步长/for循环/删除(无此功能)/修改(无此功能) # str是不可变类型

  • 强制转换:

    print(type(str(["唐开发",'李忠伟'])))    #str   ["唐开发",'李忠伟'],看着像list,其实是字符串
    print(type(["唐开发",'李忠伟'])) #list ["唐开发",'李忠伟']

4. list

  • 独有方法

    t = [11,22,33,44,55,33,66]
    t.append(77) # 在列表后添加上77,列表[11,22,33,44,55,33,66,77]
    t.insert(0,'-11') # 在列表索引位置0,添加'-11'
    t.remove('-11') # 从左到右,删除第一个'-11'
    t.pop(1) # 删除索引位置1的元素,不填默认最后一个元素
    t.clear() #清除列表所有元素
    t.extend([99,88,77,12,23]) # 把[99,88,77,12,23]的元素循环添加到列表t中,也可以是str-
  • 公共功能

    索引/长度len/切片/步长/for循环/删除/修改

    • 删除del

      t = [11,22,33,44,55,33,66]
      del t[0:2] #删除列表t索引0-1的元素,注意,仅仅是删除
      t.pop(2) #可以得到别删除的数据
      deteled = t.pop(2) # 33
    • 修改,通过赋值即可修改,list是可变类型。

  • 强制转换

    t = list('998877456dengyixin')  str
    print(t) # ['9', '9', '8', '8', '7', '7', '4', ······]
    m = ('9', '9', '8', '8', '7') tuple
    print(list(m)) # ['9', '9', '8', '8', '7']

5. tuple

元组tuple是不可变类型,没有独有方法

  • 公共功能

    索引/长度len/切片/步长/for循环/删除(无此功能)/修改(无此功能) # tuple是不可变类型

  • 元组和列表可混合嵌套

  • 强制转换

    t = tuple('998877456dengyixin')  #   str
    m = ['9', '9', '8', '8', '7']
    print(Tuple(m)) # ('9', '9', '8', '8', '7')

6. 转换的重要类型

  • int 和 str 的相互转换

  • 列表和元组的转换,直接转换.list(tuple) tuple(list)

  • bool转换的内容

    只有0 '' [] () {} set() 转换为bool值时为False.

二、新内容

1. Dictionary(字典)

  • 字典是一种可变容器模型,且可存储任意类型对象 ,帮助用户去表示一个事物的信息。各种属性。

  • {}表示,如

    d = {key1 : value1, key2 : value2,键:值 }    #  键值对
    # 键一般是唯一的,如果重复最后的一个键值对会替换前面的。
    # 值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组,键不可以是列表和字典。
  • 独有方法

    dict = {'Name': 'deng', 'Age':18, 'Class': 'First'}
    print(dict.keys()) #获取dict中所有键
    print(dict.values()) ##获取dict中所有值
    print(dict.items()) #获取dict中所有键值对
  • 公共功能

    索引/长度len /for循环/删除/修改 # dict是无序的,不能切片和步长

    dict = {'Name': 'deng', 'Age':18, 'Class': 'First'}  # 修改
    dict['Name'] = 'wang' # 改值
    dict['gender'] = '男' # 添加键值对,如果要修改键值对,得先删除键值对,删除后再添加键值对
    del dict['Name'] # 删除键值对
    dict['New_Name'] = 'mao'
    len(dict) #键值对的个数
    dict['Age'] # 18

Python全栈day 05的更多相关文章

  1. Python全栈开发【模块】

    Python全栈开发[模块] 本节内容: 模块介绍 time random os sys json & picle shelve XML hashlib ConfigParser loggin ...

  2. python 全栈开发之路 day1

    python 全栈开发之路 day1   本节内容 计算机发展介绍 计算机硬件组成 计算机基本原理 计算机 计算机(computer)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可 ...

  3. python全栈开发中级班全程笔记(第二模块、第四章(三、re 正则表达式))

    python全栈开发笔记第二模块   第四章 :常用模块(第三部分) 一.正则表达式的作用与方法 正则表达式是什么呢?一个问题带来正则表达式的重要性和作用      有一个需求 : 从文件中读取所有联 ...

  4. python 全栈开发,Day99(作业讲解,DRF版本,DRF分页,DRF序列化进阶)

    昨日内容回顾 1. 为什么要做前后端分离? - 前后端交给不同的人来编写,职责划分明确. - API (IOS,安卓,PC,微信小程序...) - vue.js等框架编写前端时,会比之前写jQuery ...

  5. python 全栈开发,Day98(路飞学城背景,django ContentType组件,表结构讲解)

    昨日内容回顾 1. 为什么要做前后端分离? - 前后端交给不同的人来编写,职责划分明确. - API (IOS,安卓,PC,微信小程序...) - vue.js等框架编写前端时,会比之前写jQuery ...

  6. 老男孩Python全栈第2期+课件笔记【高清完整92天整套视频教程】

    点击了解更多Python课程>>> 老男孩Python全栈第2期+课件笔记[高清完整92天整套视频教程] 课程目录 ├─day01-python 全栈开发-基础篇 │ 01 pyth ...

  7. Python全栈

    Python基础 Python基础01 Hello World! Python基础02 基本数据类型 Python基础03 序列 Python基础04 运算 Python基础05 缩进和选择 Pyth ...

  8. python 全栈之路

    目录 Python 全栈之路 一. Python 1. Python基础知识部分 2. Python -函数 3. Python - 模块 4. Python - 面对对象 5. Python - 文 ...

  9. Python全栈【Socket网络编程】

    Python全栈[socket网络编程] 本章内容: Socket 基于TCP的套接字 基于UDP的套接字 TCP粘包 SocketServer 模块(ThreadingTCPServer源码剖析) ...

随机推荐

  1. elasticsearch映射及分析-----3

    首先我们看下不同的索引方式相同的字段指定字段类型与不指定字段类型es会怎么处理 1.不指定类型,直接创建索引及类型文档 我们看下他默认的索引映射 2.创建索引和类型时指定字段类型 这里创建了一个索引为 ...

  2. CentOS 6.5下安装Tomcat --专业增强版 非yum

    Tomcat安装 通常情况下我们要配置Tomcat是很容易的一件事情,但是如果您要架设多用户多服务的Java虚拟主机就不那么容易了.其中最大的一个问题就是Tomcat执行权限.普通方式配置的Tomca ...

  3. ArcGIS 10.2之地图服务的发布、使用

    2.发布地图服务 2.1 地图服务器的建立 打开ArcCatalog,在左侧的GIS Servers下,双击Add ArcGIS Server, 弹出添加界面,选择,Administer GIS服务项 ...

  4. Window10 Bug记录

    1.两台新电脑刚安装: 妹子的电脑JDK配置后,重启后环境变量配置丢失,cmd里能输出,但eclipse启动不了,重新配置后正常. 我的电脑JDK配置,重启后环境变量在,但好像没加载,cmd输出与ec ...

  5. Linux centos6.x 配置免密码登录

    免密码登录主要就是被访机器提供公匙给访问者,然后访问者使用ssh协议时可以使用所配置好的公匙验证.这样就免去了输入密码的麻烦. 某些集群例如hadoop,一般都需要将主机和其他机器间配置无密码公匙认证 ...

  6. Quartz .Net(定时框架):

    Quartz .Net(定时框架): 基本说明: 说明:Quartz .Net 是一个从 Java 版的 Quartz 移植过来定时任务框架,可以实现异常灵活的定 时任务 用法: 安装 Quartz ...

  7. C#队列Queue,利用队列处理订单

    一.什么是队列 队列(Queue)代表了一个先进先出的对象集合.当您需要对各项进行先进先出的访问时,则使用队列.当您在列表中添加一项,称为入队,当您从列表中移除一项时,称为出队. 这是摘抄网上的.做了 ...

  8. C#学习基础,面向对象的三大特征

    学习C#编程,相信大家除了经常接触的是hello world之外,更多的是进一步的去熟悉这门语言的基本特征,以及有哪些概念是我们必要掌握了解的,相信大家都是会知道面向对象的三大特性分别是:封装,继承, ...

  9. jrtplib源码分析 第一篇 jthread的编译与分析

    第一篇 jthread的编译与分析 jrtplib代码依赖库jthread,因此先从jthread开始jrtplib的学习.首先从以下链接下载jthread的源代码http://research.ed ...

  10. java多线程安全

    class Ticket implements Runnable { public int sum=10; public void run() { while(true) { if(sum>0) ...