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. 软件测试技术第一次试验之——JUnit的安装与使用

    众所周知,在一个大型的软件项目中,测试是必不可少的.传统的测试方法往往要自己编写测试函数再结合测试用例进行验证,这样会显得比较繁琐.所以我们可以使用JUnit框架进行测试. 使用junit的好处就是这 ...

  2. Spring课程 Spring入门篇 2-2 Spring注入方式

    课程链接: 本节主要讲了以下两块内容: 1 xml两种注入方式 2 注入方式代码实现 3 特别注意 1 xml两种注入方式 构造注入和set注入 2 注入方式代码实现 2.1 set注入方式的实现 实 ...

  3. centos7服务器搭建javaweb运行环境及代码部署

    之前在一直在学习java web终于写完了第一个小demo,于是在阿里云上买了一个服务器,开始了配置服务器环境的踩坑之旅.... ps:本文不讨论服务器配置的具体步骤,网上都很多,按部就班就是,本文主 ...

  4. Android AS升级3.1 编译报错:The SourceSet 'instrumentTest' is not recognized by the Android Gradle Plugin.

    AndroidStudio升级到3.1后编译报错:The SourceSet ‘instrumentTest’ is not recognized by the Android Gradle Plug ...

  5. Android基础Activity篇——Intent返回数据给上一个活动

    1.如果活动B要将数据返回给活动A,那么需要以下三步: 1.1在活动A中使用startActivityForResult()方法启动活动B. 1.2在活动B中使用setResult()方法传回Iten ...

  6. 笨办法学Python(二十三)

    习题 23: 读代码 上一周你应该已经牢记了你的符号列表.现在你需要将这些运用起来,再花一周的时间,在网上阅读代码.这个任务初看会觉得很艰巨.我将直接把你丢到深水区呆几天,让你竭尽全力去读懂实实在在的 ...

  7. April 6 2017 Week 14 Thursday

    If you smile when no one else is around, you really mean it. 独处时的微笑,才是发自内心的. Recently I found I seld ...

  8. IOS 制作版本新特性

    创建版本新特性 页面(存放图片) HMNewfeatureViewController.m #define HMNewfeatureImageCount 4 #import "HMNewfe ...

  9. IOS GCD (事例下载图片)

    @interface HMViewController () @property (weak, nonatomic) IBOutlet UIImageView *imageView; @end @im ...

  10. 二进制安装mysql5.6

    安装依赖包  yum install -y libaio yum install -y perl perl-devel       解压   mkdir /opt/mysql mv mysql-5.6 ...