一、函数

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. java 基础知识三 java变量

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

  2. Python入门基础学习 三

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

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

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

  4. python 爬虫基础知识一

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

  5. Python:基础知识

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

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

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

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

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

  8. Python 面向对象基础知识

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

  9. 快速掌握JavaScript面试基础知识(三)

    译者按: 总结了大量JavaScript基本知识点,很有用! 原文: The Definitive JavaScript Handbook for your next developer interv ...

  10. Dapper基础知识三

    在下刚毕业工作,之前实习有用到Dapper?这几天新项目想用上Dapper,在下比较菜鸟,这块只是个人对Dapper的一种总结. Dapper,当项目在开发的时候,在没有必要使用依赖注入的时候,如何做 ...

随机推荐

  1. hud2544dijkstra+堆优化

    该算法对于稠密图更加有效: 对于给出具有非负权重的边和源顶点S的图G,算法可在O(mlogn)时间内找出从s点到其他每一个顶点的距离. 如果图是稠密的,即对于某个ε>0,m>=n^(1+ε ...

  2. Application 可以存储全局变量

    Application.Lock(); Application["Name"]="小亮" Application.UnLock(); Response.Writ ...

  3. Google C++ style guide——命名约定

    1.通过命名规则 函数命名.变量命名.文件命名应具有描写叙述性. 类型和变量应该是名词,函数名能够用"命令性"动词. 2.文件命名 文件名称所有小写,能够包括下划线(_)或者断线( ...

  4. Bessie Goes Moo

    Bessie Goes Moo 题目描述 Farmer John and Bessie the cow love to exchange math puzzles in their free time ...

  5. JavaScript的简单继承实现案例

    <html><body><script> //实现JavaScript继承的步骤: //1:写父类 //2:写子类 //3:用Object.create()来实现继 ...

  6. php多维数组排序

    数组 array(11) { [0] => array(7) { ["food_id"] => string(2) "31" ["food ...

  7. leetcode337

    /** * Definition for a binary tree node. * public class TreeNode { * public int val; * public TreeNo ...

  8. ThinkPHP 3.2 路径问题

    一.阿帕奇域名已经开始访问的时候:(去掉index.php) 访问路径: http://wechatu.xd107.com/Pay/Index/payTo JS路径代码: var $URL = &qu ...

  9. java中的锁之AbstractQueuedSynchronizer源码分析(二)

    一.成员变量. 1.目录. 2.state.该变量标记为volatile,说明该变量是对所有线程可见的.作用在于每个线程改变该值,都会马上让其他线程可见,在CAS(可见锁概念与锁优化)的时候是必不可少 ...

  10. nginx深入剖析

    1.nginx功能模块说明 nginx之所以很强大,是因为具有很多的强大的模块 nginx核心功能模块:nginx的核心功能模块负责nginx的全局应用,主要对应的是主配置文件中的Main区块和Eve ...