第一节课的Python基础知识
第一节课的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
标识符为 [] 中括号。
是一种有序的集合,可变,它支持字符、数字、字符串甚至可以包含列表(所谓嵌套)。
追加
使用的是append方法,追加到list的最末尾>>> list1 = ['dog','cat','panda',True,15,['xiaole','YT'],'hangry'] >>> list1.append('thirsty') >>> list1 ['dog', 'cat', 'panda', True, 15, ['xiaole', 'YT'], 'hangry', 'thirsty']
插入元素
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']
删除
使用方法pop(),不带参数,直接删除并返回末尾元素的值。>>> list1 = ['dog', 'cat', 'panda', True, 15, ['xiaole', 'YT'], 'hangry', 'thirsty'] >>> list1.pop() 'thirsty' >>> list1 ['dog', 'cat', 'panda', True, 15, ['xiaole', 'YT'], 'hangry']
删除指定位置元素
使用方法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']
替换
直接赋值替换即可。>>> list1 = ['dog', 'cat', 'panda', True, 15, ['xiaole', 'YT'], 'hangry'] >>> list1[0] = 'cute dog' >>> list1 ['cute dog', 'cat', 'panda', True, 15, ['xiaole', 'YT'], 'hangry']
排序
使用方法sort()。>>> list2 = [7,6,8,10,12,25,33,16] >>> list2.sort() >>> list2 [6, 7, 8, 10, 12, 16, 25, 33]
倒序
使用方法reverse()。>>> list2 = [7,6,8,10,12,25,33,16] >>> list2.reverse() >>> list2 [33, 25, 16, 12, 10, 8, 7, 6]
查找
找出指定下标的元素,二位数组查找嵌套元素。>>> list1 = ['dog', 'cat', 'panda', True, 15, ['xiaole', 'YT'], 'hangry'] >>> list1[4] 15 >>> list1[5][1] 'YT' >>> list1[5] ['xiaole', 'YT']
+和*的用法
+是拼接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)存储,具有极快的查找速度,标识符为 {} 大括号,也有人称之为花括号。
查找
>>> dict1 = {'xiaole':98,'xiaohua':65,'xiaoqi':64} >>> dict1['xiaohua'] 65
遍历
- 遍历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,
- 遍历value值
栗子:people = {'first_name':'zhang','age':'21','last_name':'lele','city':'xian'} for value in people.values():print(value+', ',end='')
运行结果:
zhang, 21, lele, xian,
- 遍历字典项
栗子: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')
- 遍历字典项
两种写法,可以带括号,也可以不带,栗子: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)
- 遍历key值。
增加
>>> dict1 = {'xiaole':98,'xiaohua':65,'xiaoqi':64} >>> dict1['xiaoliu'] = 87 >>> dict1 {'xiaole': 98, 'xiaohua': 65, 'xiaoqi': 64, 'xiaoliu': 87}
删除
使用方法popitem(),随机删除一组元素。>>> dict1 = {'xiaole':98,'xiaohua':65,'xiaoqi':64} >>> dict1.popitem() ('xiaoqi', 64) >>> dict1 {'xiaole': 98, 'xiaohua': 65}
移除
使用方法pop,删除指定键的一组元素。>>> dict1 = {'xiaole': 98, 'xiaohua': 65} >>> dict1.pop('xiaole') 98 >>> dict1 {'xiaohua': 65}
清除
使用方法clear(),清除所有的元素。>>> dict1 = {'xiaole':98,'xiaohua':65,'xiaoqi':64} >>> dict1.clear() >>> dict1 {}
合并
普通的字典合并三种方法。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'}
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'}
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'}
字典取值
>>> vals = {'name':'zhangsan'} >>> vals['name'] 'zhangsan' >>> vals['age'] # 报错,没有attribute 'age' >>> vals.get('age',18) 18 # 不报错,如果没有属性attribute就返回18
6、set
其他小结
方法range()的使用
生成一个范围的list集合。
当有一个参数时,从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]
当有两个参数时,从第一个参数开始,到第二个参数减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。
>>> 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]
两个参数不符合规则时。
两个参数都存在时,并且后面的值比前面的大,返回空。
>>> a = list(range(100)) >>> a[99:90] []
当第一个参数不存在时,从起始位置一直到第二个参数减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长度 + (负数参数)
字符串格式化
%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'
%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'
%f
%x
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)
这是我第一次写博客,将自己学习新概念的笔记整理到上面希望对大家有帮助. 总共44堂课.今天是第一堂课.3节课音标和基础知识储备.剩余41节课讲新概念第一册. 在英语中音标就相当于汉语中的拼音,字母就相 ...
- 风炫安全Web安全学习第三十九节课 反序列化漏洞基础知识
风炫安全Web安全学习第三十九节课 反序列化漏洞基础知识 反序列化漏洞 0x01 序列化相关基础知识 0x01 01 序列化演示 序列化就是把本来不能直接存储的数据转换成可存储的数据,并且不会丢掉数据 ...
- 青少年编程python一节课多长时间_10节免费少儿编程微课:Python基础知识微课
课程介绍课程名称:Python基础知识微课(10节) 课程内容:通过对Python基础知识的讲解,教孩子们学会使用海龟编辑器进行编程,了解Python的基础知识,学完课程之后,孩子们可以用海龟编辑器快 ...
- python函数和模块有什么关键特性_Python学习----第一模块笔记(Python基础知识)...
1.python是什么? python是动态解释型的强类型定义语言. python官方版本的解释器是CPython.该解释器使用C语言开发. 当前主要使用3.x版本的python. 2.第一个pyth ...
- (王道408考研操作系统)第三章内存管理-第一节1:内存基础知识、程序编译运行原理
注意:本节内容和<计算机组成原理>"存储器"那一部分内容相关性很强,组成原理是从硬件角度,操作系统是从软件角度.因此如果没有学习过这部分的同学,强烈建议先看这一部分 王 ...
- python基础知识大一总结与反思_Python第一课教学设计及反思
上周五终于开始了本学期的最大挑战Python单元的教学,上课之前一直很忐忑,因为不知道该如何上这种写代码的课程,以至于周四一天没课的我连教案和课件都没准备好,静不下来! 周五早上7点10分左右到校开始 ...
- 第一课 逆向分析基础知识
看雪软件安全论坛 > 初学者园地 > 『伴你成长』 > 『资料导航』 加密与解密 解密分析入门基础知识 欢迎您,youcou 您上次访问的时间是: 2009-09-23,23:53 ...
- Python基础教程(第3版)中文版 第一章 快速上手:基础知识(笔记)
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,分享给大家: https://www.captainai.net/lf 如果你学完了Python不知道干什么,不妨去了解一下. 第一章 快速 ...
最新文章
- K3ERP连接数据库问题
- linux 瘦客户机系统,2X ThinClientOS基于Linux的瘦客户端系统 | MOS86
- 一维正态分布、二维正态分布的matlab实现
- 基于vue-cli配置手淘的lib-flexible + rem,实现移动端自适应
- 2020年第十一届蓝桥杯 - 省赛 - Python大学组 - B.寻找2020
- 科普|什么是负载均衡
- 计算机学生工学交替报告书,工学交替学生守则
- 技术要求→物理安全→防盗窃和防破坏
- 电大计算机机考excel,中央电大计算机应用机考excel电子表格模板题库存(118页)-原创力文档...
- OpenJDK源码研究笔记(六)--观察者模式工具类(Observer和Observable)和应用示例
- 1、pthon中类包含的方法
- 激光测距芯片VL53L0X的使用与代码
- outlook2007 有一个程序正试图以您的名义自动发送电子邮件
- [UOJ449][概率DP]集训队作业2018:喂鸽子
- 【ROS1】LeGO-LOAM-BOR简洁复现过程
- html的滚动条样式,css滚动条样式
- 语音验证码接口PYTHO语言
- python学习——电子邮件
- CIC-IDS-2018数据集分析笔记
- 什么叫创建oracle实例,请问建立数据库实例是什么意思