第一节课的Python基础知识

  • Python内置的数据类型
    • 1、number
    • 2、string
    • 3、list
    • 4、tuple
    • 5、dict
    • 6、set
  • 其他小结
    • 方法range()的使用
    • 获取一个list集合的其中部分元素
    • 字符串格式化

Python内置的数据类型

1、number

数字数据类型:包括int(整型,在这里也代表长整型)、float(浮点型)、complex(复数类型)、Bool(布尔类型)。

2、string

字符串:由数字、字母、下划线所组成的一串字符,并且第一个字符不能为数字类型。

3、list

标识符为 [] 中括号。
是一种有序的集合,可变,它支持字符、数字、字符串甚至可以包含列表(所谓嵌套)。

  1. 追加
    使用的是append方法,追加到list的最末尾

    >>> list1 = ['dog','cat','panda',True,15,['xiaole','YT'],'hangry']
    >>> list1.append('thirsty')
    >>> list1
    ['dog', 'cat', 'panda', True, 15, ['xiaole', 'YT'], 'hangry', 'thirsty']
    
  2. 插入元素
    insert方法,指定特定的下标和要插入的元素。

    >>> list1 = ['dog', 'cat', 'panda', True, 15, ['xiaole', 'YT'], 'hangry', 'thirsty']
    >>> list1.insert(2,'monkey')
    >>> list1
    ['dog', 'cat', 'monkey', 'panda', True, 15, ['xiaole', 'YT'], 'hangry', 'thirsty']
    
  3. 删除
    使用方法pop(),不带参数,直接删除并返回末尾元素的值。

    >>> list1 = ['dog', 'cat', 'panda', True, 15, ['xiaole', 'YT'], 'hangry', 'thirsty']
    >>> list1.pop()
    'thirsty'
    >>> list1
    ['dog', 'cat', 'panda', True, 15, ['xiaole', 'YT'], 'hangry']
    
  4. 删除指定位置元素
    使用方法pop(index),带参数index,直接删除指定下标index并返回删除元素的值。

    >>> list1 = ['dog', 'cat', 'panda', True, 15, ['xiaole', 'YT'], 'hangry']
    >>> list1.pop(4)
    15
    >>> list1
    ['dog', 'cat', 'panda', True, ['xiaole', 'YT'], 'hangry']
    
  5. 替换
    直接赋值替换即可。

    >>> list1 = ['dog', 'cat', 'panda', True, 15, ['xiaole', 'YT'], 'hangry']
    >>> list1[0] = 'cute dog'
    >>> list1
    ['cute dog', 'cat', 'panda', True, 15, ['xiaole', 'YT'], 'hangry']
    
  6. 排序
    使用方法sort()。

    >>> list2 = [7,6,8,10,12,25,33,16]
    >>> list2.sort()
    >>> list2
    [6, 7, 8, 10, 12, 16, 25, 33]
    
  7. 倒序
    使用方法reverse()。

    >>> list2 = [7,6,8,10,12,25,33,16]
    >>> list2.reverse()
    >>> list2
    [33, 25, 16, 12, 10, 8, 7, 6]
    
  8. 查找
    找出指定下标的元素,二位数组查找嵌套元素。

    >>> list1 = ['dog', 'cat', 'panda', True, 15, ['xiaole', 'YT'], 'hangry']
    >>> list1[4]
    15
    >>> list1[5][1]
    'YT'
    >>> list1[5]
    ['xiaole', 'YT']
    
  9. +和*的用法
    +是拼接list列表,栗子:

    >>> list1 = [1,2,3]
    >>> list2 = [4,5,6]
    >>> print (list1+list2)
    [1, 2, 3, 4, 5, 6]
    

    *是将一个列表打印多遍,栗子:

    >>> list1 = [1,2,3]
    >>> print (list1 * 2)
    [1, 2, 3, 1, 2, 3]
    

4、tuple

元组,tuple和list非常类似,但是tuple一旦初始化就不可修改,标识符为 () 小括号。
注:当tuple元素只有一个的时候,需要一个逗号消除歧义,例如:

>>> tuple1 = (1)
>>> type(tuple1)
<class 'int'>
>>> tuple2 = (1,)
>>> type(tuple2)
<class 'tuple'>

5、dict

dict全称dictionary,字典,在其它语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度,标识符为 {} 大括号,也有人称之为花括号。

  1. 查找

    >>> dict1 = {'xiaole':98,'xiaohua':65,'xiaoqi':64}
    >>> dict1['xiaohua']
    65
    
  2. 遍历

    1. 遍历key值。
      第一种方法,栗子:

      people = {'first_name':'zhang','age':21,'last_name':'lele','city':'xian'}
      for key in people:print(key+',   ',end='')
      

      运行结果:

      first_name,   age,   last_name,   city,
      

      第二种方法,栗子:

      people = {'first_name':'zhang','age':21,'last_name':'lele','city':'xian'}
      for key in people.keys():print(key+',   ',end='')
      

      运行结果:

      first_name,   age,   last_name,   city,
      
    2. 遍历value值
      栗子:

      people = {'first_name':'zhang','age':'21','last_name':'lele','city':'xian'}
      for value in people.values():print(value+',   ',end='')
      

      运行结果:

      zhang,   21,   lele,   xian,
      
    3. 遍历字典项
      栗子:

      people = {'first_name':'zhang','age':'21','last_name':'lele','city':'xian'}
      for item in people.items():print(item)
      

      运行结果:

      ('first_name', 'zhang')
      ('age', '21')
      ('last_name', 'lele')
      ('city', 'xian')
      
    4. 遍历字典项
      两种写法,可以带括号,也可以不带,栗子:

      people = {'first_name':'zhang','age':'21','last_name':'lele','city':'xian'}
      for key,value in people.items():    #不带括号时print(key+'  '+value)
      for (key, value) in people.items(): #带括号时print(key + '  ' + value)
      
  3. 增加

    >>> dict1 = {'xiaole':98,'xiaohua':65,'xiaoqi':64}
    >>> dict1['xiaoliu'] = 87
    >>> dict1
    {'xiaole': 98, 'xiaohua': 65, 'xiaoqi': 64, 'xiaoliu': 87}
    
  4. 删除
    使用方法popitem(),随机删除一组元素。

    >>> dict1 = {'xiaole':98,'xiaohua':65,'xiaoqi':64}
    >>> dict1.popitem()
    ('xiaoqi', 64)
    >>> dict1
    {'xiaole': 98, 'xiaohua': 65}
    
  5. 移除
    使用方法pop,删除指定键的一组元素。

    >>> dict1 = {'xiaole': 98, 'xiaohua': 65}
    >>> dict1.pop('xiaole')
    98
    >>> dict1
    {'xiaohua': 65}
    
  6. 清除
    使用方法clear(),清除所有的元素。

    >>> dict1 = {'xiaole':98,'xiaohua':65,'xiaoqi':64}
    >>> dict1.clear()
    >>> dict1
    {}
    
  7. 合并
    普通的字典合并三种方法。

    1. dict(dict1,**dict2),栗子:

      >>> dict1 = {'location':'xian','code':10023}
      >>> dict2 = {'name':'lele','sex':'boy'}
      #相当于将dict2更新至dict1上面
      #先取出dict1,再执行dict1.update(dict2)
      >>>> print (dict(dict1,**dict2))
      {'location': 'xian', 'code': 10023, 'name': 'lele', 'sex': 'boy'}
      
    2. dict(dict1.items()+dict2.items()),栗子:(仅限于Python2)

      >>> dict1 = {'location':'xian','code':10023}
      >>> dict2 = {'name':'lele','sex':'boy'}
      >>> dict(dict1.items()+dict2.items())
      {'code': 10023, 'sex': 'boy', 'location': 'xian', 'name': 'lele'}
      
    3. dict3 = {} dict3.update(dict1) dict3.update(dict2),栗子:

      >>> dict1 = {'location':'xian','code':10023}
      >>> dict2 = {'name':'lele','sex':'boy'}
      >>> dict3 = {}
      >>> dict3.update(dict1)
      >>> dict3.update(dict2)
      >>> dict3
      {'location': 'xian', 'code': 10023, 'name': 'lele', 'sex': 'boy'}
      
  8. 字典取值

    >>> vals = {'name':'zhangsan'}
    >>> vals['name']
    'zhangsan'
    >>> vals['age']
    # 报错,没有attribute  'age'
    >>> vals.get('age',18)
    18
    # 不报错,如果没有属性attribute就返回18
    

6、set

其他小结

方法range()的使用

生成一个范围的list集合。

  1. 当有一个参数时,从0开始,生成参数个元素。

    >>> list(range(100))
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
    
  2. 当有两个参数时,从第一个参数开始,到第二个参数减1,若参数不符合规则,返回空。

    >>> list(range(1,5))
    [1, 2, 3, 4]
    >>> list(range(10,5))
    []
    

获取一个list集合的其中部分元素

先定义一个list集合。

>>> a = list(range(100))
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
  1. 两个参数
    如果两个元素都存在。

    1. 两个参数都符合规则时,从第一个参数作为索引开始,到第二个参数作为索引减1。

      >>> a = list(range(100))
      >>> a[0:10]
      [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
      >>> a[90:99]
      [90, 91, 92, 93, 94, 95, 96, 97, 98]
      
    2. 两个参数不符合规则时。

      1. 两个参数都存在时,并且后面的值比前面的大,返回空。

        >>> a = list(range(100))
        >>> a[99:90]
        []
        
      2. 当第一个参数不存在时,从起始位置一直到第二个参数减1部分截取。

        >>> a = list(range(100))
        >>> a[:40]
        [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39]
        

        当第二个参数不存在时,从第一个参数作为索引一直到list结束部分截取。

        >>> a = list(range(100))
        >>> a[60:]
        [60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
        

        当参数为负数的时候,可将它转化为证书即可:
        最终结果 = list长度 + (负数参数)

字符串格式化

  1. %d
    对数字的填充。

    >>> 'https;//2515***6@qq.com?page=%d'%2
    'https;//2515***6@qq.com?page=2'
    >>> 'https;//2515***6@qq.com?page1=%d&page2=%d'%(2,3)
    'https;//2515***6@qq.com?page1=2&page2=3'
    
  2. %s
    对字符串的填充。

    >>> 'https;//2515***6@qq.com?name=%s'%'xiaole'
    'https;//2515***6@qq.com?name=xiaole'
    >>> 'https;//2515***6@qq.com?name1=%s&name2=%s'%('xiaole','xiaohua')
    'https;//2515***6@qq.com?name1=xiaole&name2=xiaohua'
    
  3. %f

  4. %x

  5. format
    一对一的去匹配,当带参数0,1时可以颠倒匹配的顺序,详情代码第五六行。

    >>> 'https;//2515***6@qq.com?name1={}&name2={}'.format('huahua','tiantian')
    'https;//2515***6@qq.com?name1=huahua&name2=tiantian'
    >>> 'https;//2515***6@qq.com?name1={0}&name2={1}'.format('huahua','tiantian')
    'https;//2515***6@qq.com?name1=huahua&name2=tiantian'
    >>> 'https;//2515***6@qq.com?name1={1}&name2=  {0}'.format('huahua','tiantian')
    'https;//2515***6@qq.com?name1=tiantian&name2=huahua'
    

注:本文章的信息有的还有空缺,后续会将其查漏补缺,初学者,望见谅。

第一节课的Python基础知识相关推荐

  1. 计算机基础知识第一节课最新,计算机基础知识(第一节)课件

    计算机基础知识(第一节)课件 一般搬家时转盘与大梁间是固定的,开钻前应根据转盘对井架进行校正,如果中途换转盘,则要在空负荷下根据井架对转盘进行校正 一般搬家时转盘与大梁间是固定的,开钻前应根据转盘对井 ...

  2. 学习新概念第一册 第一堂课 音标和基础知识储备(1)

    这是我第一次写博客,将自己学习新概念的笔记整理到上面希望对大家有帮助. 总共44堂课.今天是第一堂课.3节课音标和基础知识储备.剩余41节课讲新概念第一册. 在英语中音标就相当于汉语中的拼音,字母就相 ...

  3. 风炫安全Web安全学习第三十九节课 反序列化漏洞基础知识

    风炫安全Web安全学习第三十九节课 反序列化漏洞基础知识 反序列化漏洞 0x01 序列化相关基础知识 0x01 01 序列化演示 序列化就是把本来不能直接存储的数据转换成可存储的数据,并且不会丢掉数据 ...

  4. 青少年编程python一节课多长时间_10节免费少儿编程微课:Python基础知识微课

    课程介绍课程名称:Python基础知识微课(10节) 课程内容:通过对Python基础知识的讲解,教孩子们学会使用海龟编辑器进行编程,了解Python的基础知识,学完课程之后,孩子们可以用海龟编辑器快 ...

  5. python函数和模块有什么关键特性_Python学习----第一模块笔记(Python基础知识)...

    1.python是什么? python是动态解释型的强类型定义语言. python官方版本的解释器是CPython.该解释器使用C语言开发. 当前主要使用3.x版本的python. 2.第一个pyth ...

  6. (王道408考研操作系统)第三章内存管理-第一节1:内存基础知识、程序编译运行原理

    注意:本节内容和<计算机组成原理>"存储器"那一部分内容相关性很强,组成原理是从硬件角度,操作系统是从软件角度.因此如果没有学习过这部分的同学,强烈建议先看这一部分 王 ...

  7. python基础知识大一总结与反思_Python第一课教学设计及反思

    上周五终于开始了本学期的最大挑战Python单元的教学,上课之前一直很忐忑,因为不知道该如何上这种写代码的课程,以至于周四一天没课的我连教案和课件都没准备好,静不下来! 周五早上7点10分左右到校开始 ...

  8. 第一课 逆向分析基础知识

    看雪软件安全论坛 > 初学者园地 > 『伴你成长』 > 『资料导航』 加密与解密 解密分析入门基础知识 欢迎您,youcou 您上次访问的时间是: 2009-09-23,23:53 ...

  9. Python基础教程(第3版)中文版 第一章 快速上手:基础知识(笔记)

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,分享给大家: https://www.captainai.net/lf 如果你学完了Python不知道干什么,不妨去了解一下. 第一章 快速 ...

最新文章

  1. K3ERP连接数据库问题
  2. linux 瘦客户机系统,2X ThinClientOS基于Linux的瘦客户端系统 | MOS86
  3. 一维正态分布、二维正态分布的matlab实现
  4. 基于vue-cli配置手淘的lib-flexible + rem,实现移动端自适应
  5. 2020年第十一届蓝桥杯 - 省赛 - Python大学组 - B.寻找2020
  6. 科普|什么是负载均衡
  7. 计算机学生工学交替报告书,工学交替学生守则
  8. 技术要求→物理安全→防盗窃和防破坏
  9. 电大计算机机考excel,中央电大计算机应用机考excel电子表格模板题库存(118页)-原创力文档...
  10. OpenJDK源码研究笔记(六)--观察者模式工具类(Observer和Observable)和应用示例
  11. 1、pthon中类包含的方法
  12. 激光测距芯片VL53L0X的使用与代码
  13. outlook2007 有一个程序正试图以您的名义自动发送电子邮件
  14. [UOJ449][概率DP]集训队作业2018:喂鸽子
  15. 【ROS1】LeGO-LOAM-BOR简洁复现过程
  16. html的滚动条样式,css滚动条样式
  17. 语音验证码接口PYTHO语言
  18. python学习——电子邮件
  19. CIC-IDS-2018数据集分析笔记
  20. 什么叫创建oracle实例,请问建立数据库实例是什么意思

热门文章

  1. java 烟花_Java 美丽的烟花
  2. 如何高效的收集视频作业、收集照片作业,安利一款收集工具/小程序
  3. matlab中利用save保存.mat文件
  4. 计组 | 算数移位及其移位后的空位添补规则
  5. 用AI给黑白照片上色,复现记忆中的旧时光
  6. SQL 数据操纵语言
  7. K 个一组翻转链表(递归,Kotlin)
  8. 数字藏品赋能实体产业释放了哪些利好?
  9. Android权限大全 (android.permission)
  10. 数据分析案例 自行车公司