一、函数

def 函数名():
函数封装的代码
...
  • def是英文define缩写
  • 别的Python文件可以引入 调用
  • 定义时 和其他代码包括注释保留两个空行

pycharm 调试

  1. F8 Step Over   单步执行代码,会把函数调用看作一行代码直接执行
  2. F7 Step Into     单步执行代码,如果是函数,会进入函数内部

    注释时  快捷键Ctrl+Q 查看函数的说明信息

二、模块

模块是Python程序架构的一个核心概念

  • 模块好比是工具包,要使用需要导入,import这个模块
  • 每一个.py结尾的Python源代码文件都是一个模块
  • 在模块中定义的全集变量、函数都是模块可以提供给外界直接使用的工具

使用方法:(方便复用曾经写过的代码)

  1. 在一个Python文件中定义变量或函数,然后在另外一个文件中使用import导入这个模块
  2. 导入之后,就可以使用 模块名.变量/模块名.函数 的方式,使用这个模块中定义的变量或者函数

(科普)pyc文件——启动速度的优化

先将导入模块先编译成字节码文件放在__pycache__目录下

三、高级变量类型

首先Mark一点 Python中所有非数字型变量支持以下特点:

  1. 都是一个序列sequence,也可以理解为容器
  2. 取值[]
  3. 遍历 for in
  4. 计算长度、最大/小值、比较、删除
  5. 链接 + 和重复 *
  6. 切片

1、列表(List)(使用最频繁的数据类型("数组")|  通常存相同类型数据)

  • 专门用于存储一串信息
  • 列表用[]定义,数据之间用,分离
  • 其索引从0开始

常用操作:(. 按下tab键即可查看)

(1)增加

  1. append     向列表的末尾追加数据
  2. insert        在列表的指定位置插入数据
  3. extend      可以把其他列表内的完整内容,追加到当前列表的末尾

(2)删除

  1. remove 删除指定数据  默认删除第一个该元素
  2. pop         默认删除列表最后一个数据,如果指定参数,可以删除元素的索引
  3. clear       可以清空列表

del 关键字(delete)删除列表元素(科普)

其本质是把一个变量从内存中删除,即后续不能再继续使用此变量。

(3)数据统计

  1. len(列表)  列表长度
  2. 列表.count(数据)  数据在列表出现的次数

(4)排序

  1. 列表.sort  升序排序
  2. 列表.sort(reverse=True)  降序排序
  3. 列表.reverse()  逆序、反转

(5)循环遍历

for循环可以遍历所有非数字型类型的变量:列表、元组、字典以及字符串

for name in name_list:
  print(name)

2、元组(Tuple)(元素不能修改 | 通常用来存不同类型数据)

  • 元组表示多个元素组成的序列
  • 用户存储一串信息,数据之间用,分隔
  • 用()定义
  • 索引同样从0开始
    • 创建空元组 tuple = ()
    • 取索引对应的值    元组名[0]
    • 元组中只包含一个元素,需要在元素后面添加逗号

常用操作:(. 按下tab键即可查看)

  1. index  获取某一个数据在元组的下标
  2. count    统计计数
  3. len(元组)    元组长度
  4. 循环遍历  同列表一样(一般对元组 使用的不多 原因如下图)

应用场景

  1. 函数的参数和返回值

    • 一个函数可以接收任意多个参数,或者一次返回多个数据
  2. 格式字符串
  3. 让列表不可以被修改,保护数据安全
    • 元组和列表之间转换

      • list(元组)   元组 --> 列表
      • tuple(列表)     列表 --> 元组

3、字典(dictionary)(除列表外 Python中最灵活的数据类型)

  • 同样可以存储多个数据

    • 通常用于存储描述一个物体的相关信息
  • 和列表的区别
    • 列表是有序的对象集合
    • 字典是无序的对象集合
  • 字典用{}定义
  • 字典使用键值对存储数据、键值对之间使用,分隔
    • 键key是索引
    • 值value是数据
    • 键和值之间使用 : 分隔
    • 键必须是唯一的
    • 值可以取任何数据类型,但键只能使用字符串、数字或元组

常用操作:(. 按下tab键即可查看)

其他操作

循环遍历

应用场景

  1. 使用多个键值对描述一个物体的相关信息
  2. 将多个字典放在一个列表中,再进行遍历,在循环体内部对每一个字典进行操作者

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 之 基础知识(三)的更多相关文章

  1. python入门基础知识三(列表和元组)

    列表(list)的操作 1. 形式 var = ['char1','char2','char3',...] var = [value1,value2,value3,...] 2. 列表的增删改查 查: ...

  2. Python基础知识(三)

    Python基础知识(三) 一丶整型 #二进制转成十进制的方法 # 128 64 32 16 8 4 2 1 1 1 1 1 1 1 例如数字5 : 101 #十进制转成二进制的方法 递归除取余数,从 ...

  3. java 基础知识三 java变量

    java  基础知识 三 变量 1.作用域 {} 包围起来的代码 称之为代码块,在块中声明的变量只能在块中使用 2.常量 就是固定不变的量,一旦被定义,它的值就不能再被改变. 3.变量 变量必须在程序 ...

  4. Python入门基础学习 三

    Python入门基础学习 三 数据类型 Python区分整型和浮点型依靠的是小数点,有小数点就是浮点型. e记法:e就是10的意思,是一种科学的计数法,15000=1.5e4 布尔类型是一种特殊的整形 ...

  5. Python数据挖掘——基础知识

    Python数据挖掘——基础知识 数据挖掘又称从数据中 挖掘知识.知识提取.数据/模式分析 即为:从数据中发现知识的过程 1.数据清理 (消除噪声,删除不一致数据) 2.数据集成 (多种数据源 组合在 ...

  6. python 爬虫基础知识一

    网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本. 网络爬虫必备知识点 1. Python基础知识2. P ...

  7. Python:基础知识

    python是一种解释型.面向对象的.带有动态语义的高级程序语言. 一.下载安装 官网下载地址:https://www.python.org/downloads 下载后执行安装文件,按照默认安装顺序安 ...

  8. Python学习-基础知识-2

    目录 Python基础知识2 一.二进制 二.文字编码-基础 为什么要有文字编码? 有哪些编码格式? 如何解决不同国家不兼容的编码格式? unicode编码格式的缺点 如何既能全球通用还可以规避uni ...

  9. C# 基础知识 (三).主子对话框数值传递

    在C# winform编程中,我们经常会遇到不同窗口间需要传递数值的问题.比如数据库的应用,主窗口填写内容num1,点击按钮,在弹出的子窗口显示对应num1值;或者在子窗口填写新注册用户名信息,在主窗 ...

  10. Python 面向对象基础知识

    面向对象基础知识 1.什么是面向对象编程? - 以前使用函数 - 类 + 对象 2.什么是类什么是对象,又有什么关系? class 类: def 函数1(): pass def 函数2(): pass ...

随机推荐

  1. java 快速排序

    快速排序比插入排序快了两个数量级 package test.sort; public class Paixu { public static void main(String[] args) { // ...

  2. (通用)深度学习环境搭建:tensorflow安装教程及常见错误解决

    区别于其他入门教程的"手把手式",本文更强调"因"而非"果".我之所以加上"通用"字样,是因为在你了解了这个开发环境之后 ...

  3. 优化设计提高sql类数据库的性能

    前言 在一个项目中,技术的统一性是最重要的,数据库的设计则是重点中的重点.NoSQL 是目前最流行的数据库,但是其实用性和功能性远不如sql数据库. 实际很多SQL数据库被诟病的性能问题大多是源于程序 ...

  4. 开发中关于Git那些事(续:Git变基)

    其实上一篇写的内容仅仅是Git的冰山一角,如果你认为Git就是简简单单的几行命令,那只能说明你还没有真正了解Git这个强大的内容寻址文件系统.这篇文章,还是接着介绍一些实用但是很少有人知晓的一些命令, ...

  5. js把通过图片路径生成base64

    主要思想: 使用canvas.toDataURL()方法将图片的绝对路径转换为base64编码. 一.图片在本地服务器: var imgSrc = "img/1.jpg";//本地 ...

  6. 类的更新----MVC设计模式

    <?php class stdObject { public function __construct(array $arguments = array()) { if (!empty($arg ...

  7. StringMVC POJO

    SpringMVC会按请求参数名和POJO类属性名进行自动匹配,自动为该属性填充属性值, 支持级联属性(本类包含其他类对象,如User类有一个属性为Address) 示例代码: index.jsp: ...

  8. .net core .net standard .net framework

    由于对微软的技术比较感兴趣,所以最近就在研究用Visual Studio Code开发一个Asp.net core项目并且准备从后端开始干起. 一开始用dotnet new console创建了一个控 ...

  9. TurnipBit开发板掷骰子小游戏DIY教程实例

    转载请以链接形式注明文章来源(MicroPythonQQ技术交流群:157816561,公众号:MicroPython玩家汇) 0x00前言 下面带大家用TurnipBit开发板实现一个简单的小游戏- ...

  10. 删除链表中间节点和a/b处的节点

    [题目]: 给定链表的头节点 head,实现删除链表的中间节点的函数. 例如: 步删除任何节点: 1->2,删除节点1: 1->2->3,删除节点2: 1->2->3-& ...