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 ...
随机推荐
- 前端MVC Vue2学习总结(五)——表单输入绑定、组件
一.表单输入绑定 1.1.基础用法 你可以用 v-model 指令在表单控件元素上创建双向数据绑定.它会根据控件类型自动选取正确的方法来更新元素.尽管有些神奇,但 v-model 本质上不过是语法糖, ...
- RedisPool操作Redis,工具类实例
redis.properties 配置文件内容 redis.pool.maxActive=100redis.pool.maxIdle=20redis.pool.maxWait=3000redis.po ...
- Python3 实现数据读写分离设计
前言 首先读写分离可以保证数据库的稳定,简单的说就是当网站访问量大时,读写都在一个库,很有可能会出现脏数据的情况,如果采取阻塞似操作,那么用户体验就会变得更差. 而且目前大多数网站的读写是失衡的,以淘 ...
- 跟我一起学JQuery插件开发教程
在逛codeproject网站的时候,突然看到一篇文章:How to write plugin in Jquery. 如果对E文好的同学 ,可以看上面的连接.现在我把上面网站的及结合自己的想法写这篇文 ...
- c3p0使用记录
首先要导入c3p0包.c3p0下载解压后,lib目录下有三个包,使用mysql的话,只需要导入c3p0-0.9.5.2.jar,mchange-commons-java-0.2.11.jar. 要连接 ...
- HTML5图片上传本地预览
在开发 H5 应用的时候碰到一个问题,应用只需要一张小的缩略图,而用户用手机上传的确是一张大图,手机摄像机拍的图片好几 M,这可要浪费很多流量. 我们可以通过以下方式来解决. 获取图片 通过 File ...
- Python 开发个人微信号在运维开发中的使用
一.主题:Python 开发个人微信号在运维开发中的使用 二.内容: 企业公众号 介绍开发微信公众号的后台逻辑,包括服务器验证逻辑.用户认证逻辑 个人微信号 面对企业微信的种种限制,可以使用 Itch ...
- 关于pocsuite的使用
0x00 前言 pocsuite的用处就不多说了,早些时候也看到黑哥和余弦大佬在微博上说zoomeye 和pocsuite升级了. 结合最近自己在审计cms,也想收集一下其他cms的poc,比如chy ...
- JSP中的“小饼干”Cookie,用来存储数组的方式(下方已String类型的数组为例:)
1.Cookie常用方法中,存储数据的方式: Cookie cookie = new Cookie("key","Value"); response.addCo ...
- selenium获取动态网页信息(某东)-具体配置信息
需要安装的包: selenium 关于软件的驱动:selenium之 驱动环境配置chrome.firefox.IE 1 # encoding:utf-8 2 # Author:"richi ...















