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. Win10 手工安装.netframework3.5

    1.装载win10/win8...等镜像文件 2.cmd命令管理员身份运行 3.输入命令:C:\Windows\system32>dism.exe /online /enable-feature ...

  2. POS开发问题 - 缓存问题 - 02

    问题描述 : 有一个A页面使用了缓存,当从别的页面返回到A页面时, A页面绑定的有些事件,例如监听输入框输入事件:"input",监听点击触摸屏事件:"touchstar ...

  3. check_mk 之 Check Parameters

    配置检测参数有几下方法 1. Creating manual checks instead of inventorized checks (using the variable checks). 2. ...

  4. 最近项目需要用到AdminLTE,所以整理一份中文版的小教程

    先介绍一下AdminLTE的官方网站:AdminLTE官方网站 和GitHub:AdminLTE的github,可以在上面自行下载. AdminLTE 是一个完全响应管理模板,主要依赖于 Bootst ...

  5. php程序员发展建议

    2017PHP程序员的进阶之路 又是一年毕业季,可能会有好多毕业生即将进入开发这个圈子,踏上码农这个不归路.根据这些年在开发圈子总结的LNMP程序猿发展轨迹,结合个人经验体会,总结出很多程序员对未来的 ...

  6. java核心-流基础

    1.流的概念: 1.1输入流:向内存中写入数据 1.2输出流:有内存向指定的地方输出数据 2.

  7. April 5 2017 Week 14 Wednesday

    Today is a perfect day to start living your dream. 实现梦想,莫如当下. Miracles may happen every day. If you ...

  8. FastRCNN 训练自己数据集 (1编译配置)

    http://www.cnblogs.com/louyihang-loves-baiyan/p/4885659.html 按照博客的教程配置,但自己在服务器上配置时,USE_CUDNN = 1会报错, ...

  9. alert、confirm、prompt的区别

    我们在开发一些后台管理系统的时候,经常会用到一些弹出框,今天我们一起看一下吧: alert:仅仅是一个提示的作用,通知用户,会阻线程,alert后面的代码,在用户点击确认后仍然会照常执行. confi ...

  10. Mybatis异常:java.lang.NumberFormatException: For input string: "S"

    MyBatis异常日志如下: Caused by: java.lang.NumberFormatException: For input string: "S" at sun.mi ...