一、函数

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. 添加MD5 密码加密

        编辑 /etc/grub/grub.conf 配置文件 password = 123456 password --md5 $5$H.........SS grub-crypt  --md5   ...

  2. MySQL 单实例编译安装 以及多实例安装简介

    这是基本的安装教程,与牛逼的大神无关,或许是牛逼大神不用看就会安装吧. CentOS 6.5 Final  x86_64 一.预安装软件包 1.开发包组合安装 yum groupinstall &qu ...

  3. My Go Resolutions for 2017(from Russ cox's blog)

    我的2017年Go决议 一年之季始于春,我认为写一些今年我希望在Go上做的东西是有意义的. 我每年的目标是帮助Go开发人员.我想确保我们在Go团队中所做的工作对Go开发者有重大的积极影响.可能听起来很 ...

  4. webpack3.x基本配置与总结

    基本配置 1.开始之前,请确定你已经安装了当前 Node 的较新版本. 2.然后在文件夹根目录下执行以下命令初始化项目并全局安装webpack: 1.$ cnpm init // 初始化项目 2.$ ...

  5. JAVA个人理解

    为了找到别人写的好文章,先分享下自己的知识,找找感觉路线. 学java前接触的c,后来转向java.第一个照面理解的就是面向对象,没想到让我想了好多年.当时有个负责任的老师说面向对象这个词具体释义众说 ...

  6. Python学习_06_文件、IO

    文件对象 python中的文件操作和c语言比较类似,包括一些缓冲.偏移量的方式. 文件对象可以通过open().file()两个内建方法创建,两个方法并没有什么不同,使用方法和c语言中的fopen() ...

  7. 关于swing的一些问题

    -问题1 :Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 1 & ...

  8. c=$[$c%5]到let c=$c%5的转换

    刚学shell不知道怎么转换,现在明白了一点点 ,记录下   变成加法就好明白了     c=$[$c+5] let c=$c+5 #变量c等于C加上5后在赋值给自身 let c+=5 #就可以这样表 ...

  9. Linux 多线程下载工具:axel

    wget 应该是最常用的下载工具了,但是其不支持多线程下载. axel 安装 epel 源有 axel 的二进制包,可以使用 yum 安装. yum install epel-release yum ...

  10. Linux下查询进程PS或者杀死进程kill的小技巧

    假设我们要kill掉tomcat: 那么我们首先需要tomcat的进程号pid: ps -aux | grep tomcat 记下tomcat的PID后,执行:kill PID(tomcat) 好了, ...