Python 之 基础知识(三)
一、函数
def 函数名():
函数封装的代码
...
- def是英文define缩写
- 别的Python文件可以引入 调用
- 定义时 和其他代码包括注释保留两个空行
pycharm 调试时
- F8 Step Over 单步执行代码,会把函数调用看作一行代码直接执行
- F7 Step Into 单步执行代码,如果是函数,会进入函数内部
注释时 快捷键Ctrl+Q 查看函数的说明信息
二、模块
模块是Python程序架构的一个核心概念
- 模块好比是工具包,要使用需要导入,import这个模块
- 每一个.py结尾的Python源代码文件都是一个模块
- 在模块中定义的全集变量、函数都是模块可以提供给外界直接使用的工具
使用方法:(方便复用曾经写过的代码)
- 在一个Python文件中定义变量或函数,然后在另外一个文件中使用import导入这个模块
- 导入之后,就可以使用 模块名.变量/模块名.函数 的方式,使用这个模块中定义的变量或者函数
(科普)pyc文件——启动速度的优化
先将导入模块先编译成字节码文件放在__pycache__目录下
三、高级变量类型
首先Mark一点 Python中所有非数字型变量支持以下特点:
- 都是一个序列sequence,也可以理解为容器
- 取值[]
- 遍历 for in
- 计算长度、最大/小值、比较、删除
- 链接 + 和重复 *
- 切片
1、列表(List)(使用最频繁的数据类型("数组")| 通常存相同类型数据)
- 专门用于存储一串信息
- 列表用[]定义,数据之间用,分离
- 其索引从0开始
常用操作:(. 按下tab键即可查看)
(1)增加
- append 向列表的末尾追加数据
- insert 在列表的指定位置插入数据
- extend 可以把其他列表内的完整内容,追加到当前列表的末尾
(2)删除
- remove 删除指定数据 默认删除第一个该元素
- pop 默认删除列表最后一个数据,如果指定参数,可以删除元素的索引
- clear 可以清空列表
del 关键字(delete)删除列表元素(科普)
其本质是把一个变量从内存中删除,即后续不能再继续使用此变量。
(3)数据统计
- len(列表) 列表长度
- 列表.count(数据) 数据在列表出现的次数
(4)排序
- 列表.sort 升序排序
- 列表.sort(reverse=True) 降序排序
- 列表.reverse() 逆序、反转
(5)循环遍历
for循环可以遍历所有非数字型类型的变量:列表、元组、字典以及字符串
for name in name_list:
print(name)
2、元组(Tuple)(元素不能修改 | 通常用来存不同类型数据)
- 元组表示多个元素组成的序列
- 用户存储一串信息,数据之间用,分隔
- 用()定义
- 索引同样从0开始
- 创建空元组 tuple = ()
- 取索引对应的值 元组名[0]
- 元组中只包含一个元素,需要在元素后面添加逗号
常用操作:(. 按下tab键即可查看)
- index 获取某一个数据在元组的下标
- count 统计计数
- len(元组) 元组长度
- 循环遍历 同列表一样(一般对元组 使用的不多 原因如下图)
应用场景
- 函数的参数和返回值
- 一个函数可以接收任意多个参数,或者一次返回多个数据
- 格式字符串
- 让列表不可以被修改,保护数据安全
- 元组和列表之间转换
- list(元组) 元组 --> 列表
- tuple(列表) 列表 --> 元组
- 元组和列表之间转换
3、字典(dictionary)(除列表外 Python中最灵活的数据类型)
- 同样可以存储多个数据
- 通常用于存储描述一个物体的相关信息
- 和列表的区别
- 列表是有序的对象集合
- 字典是无序的对象集合
- 字典用{}定义
- 字典使用键值对存储数据、键值对之间使用,分隔
- 键key是索引
- 值value是数据
- 键和值之间使用 : 分隔
- 键必须是唯一的
- 值可以取任何数据类型,但键只能使用字符串、数字或元组
常用操作:(. 按下tab键即可查看)
其他操作
循环遍历
应用场景
- 使用多个键值对描述一个物体的相关信息
- 将多个字典放在一个列表中,再进行遍历,在循环体内部对每一个字典进行操作者
4、字符串(表示文本信息的数据类型)
- 用一对双引号或者一对单引号 都可以定义一个字符串(大多数编程语言使用"来定义字符串)
灵活使用
- 使用索引获取对应位置的字符,同样从0开始
- 可以使用for循环遍历
常用操作:(. 按下tab键即可查看)
(1)判断类型 9种
(2)查找和替换 7种
(3)大小写转换 5种
(4)文本对齐 3种
(5)去掉空白字符 3种
(6)拆分和连接 5种
字符串的切片(适用于字符串、列表和元组)
- 使用索引值来限定范围,从一个大的集合中切出小的集合
- 字典是一个无序的集合,使用键值对保存数据
字符串[开始索引:结束索引:步长]
跳跃切片
想切到字符串末尾 结束索引不写即可
做几个例题试试~
num_str = "0123456789"
- (1)、num_str[2:6]
- (2)、num_str[2:]
- (3)、num_str[0:6] / num_str[:6]
- (4)、num_str[:]
- (5)、num_str[::2]
- (6)、num_str[1::2]
- (7)、num_str[2:-1] (-1即截取到 倒数第一)
- (8)、num_str[-2:]
- (9)、num_str[::-1] (步长-1 即向左切)
Python 之 基础知识(三)的更多相关文章
- python入门基础知识三(列表和元组)
列表(list)的操作 1. 形式 var = ['char1','char2','char3',...] var = [value1,value2,value3,...] 2. 列表的增删改查 查: ...
- Python基础知识(三)
Python基础知识(三) 一丶整型 #二进制转成十进制的方法 # 128 64 32 16 8 4 2 1 1 1 1 1 1 1 例如数字5 : 101 #十进制转成二进制的方法 递归除取余数,从 ...
- java 基础知识三 java变量
java 基础知识 三 变量 1.作用域 {} 包围起来的代码 称之为代码块,在块中声明的变量只能在块中使用 2.常量 就是固定不变的量,一旦被定义,它的值就不能再被改变. 3.变量 变量必须在程序 ...
- Python入门基础学习 三
Python入门基础学习 三 数据类型 Python区分整型和浮点型依靠的是小数点,有小数点就是浮点型. e记法:e就是10的意思,是一种科学的计数法,15000=1.5e4 布尔类型是一种特殊的整形 ...
- Python数据挖掘——基础知识
Python数据挖掘——基础知识 数据挖掘又称从数据中 挖掘知识.知识提取.数据/模式分析 即为:从数据中发现知识的过程 1.数据清理 (消除噪声,删除不一致数据) 2.数据集成 (多种数据源 组合在 ...
- python 爬虫基础知识一
网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本. 网络爬虫必备知识点 1. Python基础知识2. P ...
- Python:基础知识
python是一种解释型.面向对象的.带有动态语义的高级程序语言. 一.下载安装 官网下载地址:https://www.python.org/downloads 下载后执行安装文件,按照默认安装顺序安 ...
- Python学习-基础知识-2
目录 Python基础知识2 一.二进制 二.文字编码-基础 为什么要有文字编码? 有哪些编码格式? 如何解决不同国家不兼容的编码格式? unicode编码格式的缺点 如何既能全球通用还可以规避uni ...
- C# 基础知识 (三).主子对话框数值传递
在C# winform编程中,我们经常会遇到不同窗口间需要传递数值的问题.比如数据库的应用,主窗口填写内容num1,点击按钮,在弹出的子窗口显示对应num1值;或者在子窗口填写新注册用户名信息,在主窗 ...
- Python 面向对象基础知识
面向对象基础知识 1.什么是面向对象编程? - 以前使用函数 - 类 + 对象 2.什么是类什么是对象,又有什么关系? class 类: def 函数1(): pass def 函数2(): pass ...
随机推荐
- lesson - 1 aming
一. Linux是什么* 关于Linux历史(http://www.aminglinux.com/bbs/thread-6568-1-1.html 需要大家查查资了解,也可以看看5期的视频)* 发 ...
- application19事件 20多少步骤 具体20多少只有微软知道!!!
- 细说MyEclipse调试
在程序出现问题时,我们需要找到并解决掉这些恼人的Bug,才能使程序顺利的运行下去.但是,当代码很多,程序很大的时候,找起来就很麻烦. 所以,我们需要借助工具——Eclipse/MyEclipse中的 ...
- Robot Framework学习笔记(五)------Collections 库
Collections 库同样为 Robot Framework 标准类库,它所提供的关键字主要用于列表.索引.字典的处理. 1.添加类 在使用之前需要在测试套件(项目)中添加 2.创建字典 字典也是 ...
- 基于ASP.NET WEB API实现分布式数据访问中间层(提供对数据库的CRUD)
一些小的C/S项目(winform.WPF等),因需要访问操作数据库,但又不能把DB连接配置在客户端上,原因有很多,可能是DB连接无法直接访问,或客户端不想安装各种DB访问组件,或DB连接不想暴露在客 ...
- 腾讯云负载均衡CLB的那些“独门利器”
欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 作者:李想 腾讯人做产品一直是很贴近用户的需求的,腾讯云也不例外.负载均衡器作为公有云上的最基础的网络服务,几乎每家云厂商都会提供,虽然负载均衡 ...
- 总结Oracle8i 的UNDO表空间损坏(ORA-01092及ORA-00600【4193】)情况下的数据库不完全恢复的经历
服务器断电重启导致备份生产环境的恢复目录库无法进行启动,提示Ora-01092例程终止.强行断开连接 查看跟踪日志: Wed Jan 10 08:41:37 2018 Errors in file d ...
- PE文件详解(五)
在前面几节中经常提到相对虚拟地址RVA,在这篇博客中主要说明这个概念.本来是想接着转载小甲鱼的,但是我自己根据这篇文章和他的视频来学习的时候,发现在RVA与文件的相对偏移地址进行转化的时候,那块我看不 ...
- 2017-07-18&19
[toc] 数据库 for循环里写操作数据库是大忌!尤其是这种情况:一次查询的结果中有一个记录还要继续展开查询,两次查询的记录均不止一条.就很容易写成for循环里操作数据库了.解决办法就是循环里的每条 ...
- 微信小程序之自定义toast弹窗
微信小程序里面的自带弹窗icon只有两种,success和loading.有时候用户输入错误的时候想加入一个提醒图标,也可以使用wx.showToast中的image来添加图片达到使用自定义图标的目的 ...