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. ora-12541:tns: 无监听程序解决办法

    1.首先找到 Oracle 安装文件 中 listener.ora文件与tnsnames.ora文件: 列如:路径:E:\app\当前系统的账户名\product\11.2.0\dbhome_1\NE ...

  2. 在DataColumn.Expression把DateTime转换成String的问题

    我在使用MySql5.1的数据库中,使用winForm的DataGridView要把数据库中全称DateTime格式,转换成Date格式,就是把日期时间转换成日期,不要时间.如‘2013-07-08 ...

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

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

  4. html中的兼容 & 如何对网站的文件和资源进行优化

    一.1.双边距 BUG float引起的  使用display 2.超链接hover 点击后失效  使用正确的书写顺序 link visited hover active (可简单看成由 爱生恨 lo ...

  5. dojo事件绑定

    Dojo如何动态绑定事件的小demo <html> <title>事件绑定测试test</title> <head></head> < ...

  6. What is mobile platform?

    高屋建瓴 From Up to Down Outside into inside The Internet Of Things. http://wenku.baidu.com/view/5cdc026 ...

  7. C++ Knowledge series overloading

    What does the compiler behind our programming? Overloading in C++ Override all of overloaded functio ...

  8. 通过adb获取应用的Activity堆栈信息

    获取所用应用 adb shell dumpsys activity 获取自己的应用 adb shell dumpsys activity | grep 应用的package 获取处于栈顶的activi ...

  9. 如何在SecureCRT中给linux上传和下载文件

    方法/步骤     需要上传或者下载,需要使用rz和sz命令.如果linux上没有这两个命令工具,则需要先安装.可以使用yum安装.运行命令yum install lrzsz.   安装完成后就可以使 ...

  10. vue短信验证码组件

    Vue.component('timerBtn',{ template: '<button v-on:click="run" :disabled="disabled ...