一、函数

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. lesson - 1 aming

    一.  Linux是什么* 关于Linux历史(http://www.aminglinux.com/bbs/thread-6568-1-1.html  需要大家查查资了解,也可以看看5期的视频)* 发 ...

  2. application19事件 20多少步骤 具体20多少只有微软知道!!!

  3. 细说MyEclipse调试

     在程序出现问题时,我们需要找到并解决掉这些恼人的Bug,才能使程序顺利的运行下去.但是,当代码很多,程序很大的时候,找起来就很麻烦. 所以,我们需要借助工具——Eclipse/MyEclipse中的 ...

  4. Robot Framework学习笔记(五)------Collections 库

    Collections 库同样为 Robot Framework 标准类库,它所提供的关键字主要用于列表.索引.字典的处理. 1.添加类 在使用之前需要在测试套件(项目)中添加 2.创建字典 字典也是 ...

  5. 基于ASP.NET WEB API实现分布式数据访问中间层(提供对数据库的CRUD)

    一些小的C/S项目(winform.WPF等),因需要访问操作数据库,但又不能把DB连接配置在客户端上,原因有很多,可能是DB连接无法直接访问,或客户端不想安装各种DB访问组件,或DB连接不想暴露在客 ...

  6. 腾讯云负载均衡CLB的那些“独门利器”

    欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 作者:李想 腾讯人做产品一直是很贴近用户的需求的,腾讯云也不例外.负载均衡器作为公有云上的最基础的网络服务,几乎每家云厂商都会提供,虽然负载均衡 ...

  7. 总结Oracle8i 的UNDO表空间损坏(ORA-01092及ORA-00600【4193】)情况下的数据库不完全恢复的经历

    服务器断电重启导致备份生产环境的恢复目录库无法进行启动,提示Ora-01092例程终止.强行断开连接 查看跟踪日志: Wed Jan 10 08:41:37 2018 Errors in file d ...

  8. PE文件详解(五)

    在前面几节中经常提到相对虚拟地址RVA,在这篇博客中主要说明这个概念.本来是想接着转载小甲鱼的,但是我自己根据这篇文章和他的视频来学习的时候,发现在RVA与文件的相对偏移地址进行转化的时候,那块我看不 ...

  9. 2017-07-18&19

    [toc] 数据库 for循环里写操作数据库是大忌!尤其是这种情况:一次查询的结果中有一个记录还要继续展开查询,两次查询的记录均不止一条.就很容易写成for循环里操作数据库了.解决办法就是循环里的每条 ...

  10. 微信小程序之自定义toast弹窗

    微信小程序里面的自带弹窗icon只有两种,success和loading.有时候用户输入错误的时候想加入一个提醒图标,也可以使用wx.showToast中的image来添加图片达到使用自定义图标的目的 ...