一、函数

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. Linux发行版 CentOS6.5下的分区操作

    本文地址http://comexchan.cnblogs.com/ ,尊重知识产权,转载请注明出处,谢谢! 查询磁盘信息并作分区规划 执行下述命令查询磁盘信息: fdisk -l 可知.数据盘大小50 ...

  2. 《精通Spring 4.X企业应用开发实战》读书笔记1-1(IoC容器和Bean)

    很长一段时间关注在Java Web开发的方向上,提及到Jave Web开发就绕不开Spring全家桶系列,使用面向百度,谷歌的编程方法能够完成大部分的工作.但是这种不系统的了解总觉得自己的知识有所欠缺 ...

  3. Oracle绑定变量优缺点

    参考:http://f.dataguru.cn/thread-208881-1-1.html 参考:http://blog.sina.com.cn/s/blog_4d9ece9a0100caw8.ht ...

  4. swiper轮播问题之一:轮播图内容为动态数据生成时轮播图无法自动轮播

    本人在用H5做移动端项目中使用Swiper遇到的两个问题,因此加深了对Swiper的掌握,分享出来对刚开始接触Swiper的童鞋们或多或少会有帮助.        首先,new Swiper的初始化最 ...

  5. springmvc注入类 NoUniqueBeanDefinitionException: No qualifying bean of type [] is defined: expected single错误

    在springmvc中注入服务时用@Service 当有两个实现类时都标明@Service后则会出现异常: nested exception is org.springframework.beans. ...

  6. kotlin学习-初次见面

    第一次相识 最近看了很多介绍kotlin的文章.怀着好奇心改造了之前用java写的一个工具jar包.功能不是很复杂,类也只有几个,却足足写3个小时.期间一边看教程,一边写,有一种找回原来第一次写代码的 ...

  7. 第十章:Python の 网络编程基础(二)

    本課主題 Python中的作用域补充 socketserver 源码 线程的介绍和操作实战 进程的介绍和操作实战 协程的介绍和操作实战 本周作业 Python中的作用域补充 Python世界里沒有块级 ...

  8. node实现微信扫码群发消息《附上github代码》

    本篇文章就是为大家介绍一下我是如何用node去实现扫码群发功能,源代码地址在最后面 获取登录二维码 -> 扫码登录服务端           首先介绍一下主要流程,并附上关键代码 1.获取UUI ...

  9. 浅谈我的MongoDB学习(二)

    上一篇简单讲了mongodb的安装,mongo的windows服务安装,这样服务器重启windows服务会自动重启mongodb的server,然后我们就可以用客户端去管理数据了.mongodb客户端 ...

  10. Git学习随笔

    前期准备事项: 1.注册GitHub账号,注册地址:https://github.com 2.下载Git for Windows工具,下载地址:http://gitforwindows.org,软件安 ...