函数的参数

默认参数: 函数的基本形参, 可以有默认参数, 什么是基本形参呢, 就是普通变量, 如字符串, 数字等. 并且带有默认参数的形参, 要放在后边.

传参时, 不必将所有的参数都传递, 可以只传递部分参数, 但是要明确指出你传递的参数.例如

虽然, a 在 c 的前边, 但是传参时可以显示制定将参数传给谁, 而不是依照顺序来传递.

可变参数, 列表(数组)*numbers和字典(键值对)**keywords

可以看到 列表(数组)的样子是 *numbers, 字典(键值对)的样子是 **keywords

传值, 还是传址?

基本形式参数类型, 是按照传值得方式, 但是类似列表和字典就是按照传址的方式.

模块

编写模块有多种方法, 但是, 最简单的方法是创建以 .py为扩展名的文件, 在文件中包含函数和变量.

如何使用模块

输出

当python执行 import sys 语句的时候, 它会寻找 sys 模块, 在本例中, 它是内置模块, 所以python知道它在哪里.

如果它是未编译的模块, 如用 python 写的模块, python解释器就会查找在 sys.pyth变量中的路径, 如果模块找到了, 就会运行那个模块的主体语句, 模块就可以利用了, 注意, 初始化过程仅在我们第一次导入模块的时候. (也就是说, 我们要导入的模块, 在我们程序运行的时候, 可能也会运行1次,加载到内存了).

在 sys 模块中, argv 变量可以用 sys.argv来引用, 这样的命名不会跟你程序本身的名字冲突.

当我们运行一个python 程序带参数时, python 就帮助我们将参数存储在了 sys.argv中, 这是一个字符串数组.

记住, 脚本名称本身就是第一个参数, 所以, 这里 sys.argv[0] 应该是 using_sys.py

sys.path 包含输入模块的目录列表, 我们可以观察到 sys.path的第一个字符串是空的-这个空的字符串表示当前目录也是 sys.path 的一部分, 这与 python-path的环境变量相同, 这意味着你可以直接输入位于当前目录的模块.

导入一个模块相对来说是一个比较费时的事情, 所以, python做了一些技巧改善.

1. 一种方法是创建按字节编译文件, 这些文件以.pyc作为扩展名.(中间状态) 这些.pyc文件通常与.py文件相同的方式在相同的路径中被创建. 如果 python 没有写入当前路径的权限, .pyc文件就不会被创建.

from ... import

如果你想直接输入 argv 变量到你的程序中(而不是每次都需要使用它时打 sys.), 那么你可以使用 from sys import argv 语句. 那么你可以使用 from sys import argv语句, 如果你想输入所有的sys模块的名字, 那么你可以使用from sys import * 语句. 一般来说, 应该避免使用 from ... import 而使用 import. 因为这样可以使你的程序更加易读.也可以避免名称的冲突.

模块的 __name__

每个模块都有一个名称, 在模块中可以通过语句来找出模块的名称. 加入我们只想在程序本身被使用的时候运行主块(非其作为模块引用被其他程序调用).而在它被别的模块输入的时候不运行主块, 我们该怎么做呢? 这可以通过模块的__name__属性完成.

如何工作: 每个 python 模块都有它的__name__, 如果它是'__main__', 这说明这个模块被用于单独运行, 我们可以进行相应的恰当的操作.

到目前为止, 你一定已经开始看到了组织你的程序的层次, 变量通常在函数内部运行, 函数和全局变量通常在模块内部运行. 那么, 如果你想自己组织模块呢? 包可以帮你完成任务.

包是模块的文件夹, 有一个特殊的 __init__.py文件,用来表明这个文件夹是特殊的因为其包含有python模块.

python 02的更多相关文章

  1. [Python] 02 - String

    字符串 string 一.基本性质 不变性 Immutability 要变就 --> list --> string 二.功能函数 功能函数 S = 'Spam" S.find( ...

  2. python 02/100例

    题目 输入某年某月某日,判断这一天是这一年的第几天? 分析 例如:2018年6月19日 天数 = 19天 + 一月天数 + 2月天数 + ... + 6月天数 注意 闰年的2月是29天,如果年份是闰年 ...

  3. python 02 8/21-8/23

    计算机由硬件系统和软件系统组成,硬件系统分为由CPU(运算器+控制器)+内存储器(电信号)组成的主机部分,由输入设备+输出设备+外存储器(硬盘(磁信号).U盘)组成的外设部分.软件系统由系统软件和应用 ...

  4. Python 02 编写代码

    原文:https://www.cnblogs.com/jimmy-share/p/9784219.html 方式: 交互式编程:打开python.exe文件后,直接输入代码即可.文件的位置(我本地): ...

  5. 机器学习 - Python 02

    好了,咱们接着上一节的内容,继续学习机器学习中的Python语法部分.这一节算是Python语法的最后一节了.也就是说如果真的看懂了这两节的内容,理论上说就机器学习的领域或者方向,语言已经不是问题了. ...

  6. python 02 if while

    1. if的格式 >>> 1<3 True 真>>> 1>3False 假 if   条件:                     条件 + : (t ...

  7. 实验与作业(Python)-02 Python函数入门与温度转换程序

    截止日期 实验目标 学会定义函数,使用函数.学会导入在某个文件中定义的函数. input获得值,然后通过eval或者int.float将其转换为相应的类型. 学会使用列表:访问列表.append.遍历 ...

  8. 【Python 02】计算机与程序设计

    计算机 根据一系列指令对数据进行处理的工具或机器. 特征: 可以进行计算 根据指令执行任务 组成: 运算器+控制器(CPU) 存储器(内存及硬盘):内存存储临时数据.硬盘存储相对永久的数据 输入设备和 ...

  9. 实验与作业(Python)-02 Python函数入门与温度转换程序(函数、input、eval、int、float、列表)

    截止日期 实验目标 学会定义函数,使用函数.学会导入在某个文件中定义的函数. input获得值,然后通过eval或者int.float将其转换为相应的类型. 学会使用列表:访问列表.append.遍历 ...

随机推荐

  1. R语言学习-基础篇

    从五月10日开始自学R in action,将我的学习所得逐渐发布在博客上. chapter1.新手上路 工作空间:存储着所有用户定义的对象(向量,矩阵,函数,数据框,列表): 当前的工目录保存是R用 ...

  2. ubuntu 安装transmission最新版

    访问 www.transmissionbt.com   下载最新版 1)下载transmission:#  wget https://transmission.cachefly.net/transmi ...

  3. C++之路进阶——P2022

    P2022 有趣的数 让我们来考虑1到N的正整数集合.让我们把集合中的元素按照字典序排列,例如当N=11时,其顺序应该为:1,10,11,2,3,4,5,6,7,8,9. 定义K在N个数中的位置为Q( ...

  4. UVALive 7139 Rotation(矩阵前缀和)(2014 Asia Shanghai Regional Contest)

    题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&category=6 ...

  5. (一)Nand FLASH 原理讲解

    NAND FLASH  优势 : 可以用当硬盘   这里好像型号是 K9F2G08 基本结构: 不是很难自己看看,暂时不要看

  6. 调用线程无法访问此对象,因为另一个线程拥有该对象 [c# wpf定时器程序报的错误]

    WPF:Dispatcher.Invoke 方法,只有在其上创建 Dispatcher 的线程才可以直接访问DispatcherObject.若要从不同于在其上创建 DispatcherObject ...

  7. mysql count(*)和count(列)速率

    count(*)通常是对主键进行索引扫描,count(列)不一定 count(*)是统计表中所有符合的记录总数,count(列)是计算表中所有符合的列的记录数 count的时候,如果没有where限制 ...

  8. 推荐一篇好文:OSG OSGearth vs2010编译

    链接:http://weibo.com/p/2304189447a8480102v2c2 此文作者把用到的相关代码包放在:http://pan.baidu.com/s/1qW9a4zU 按照步骤操作完 ...

  9. C++多级指针与多维数组详细介绍

    多级指针的概念 多级指针可对应于多维数组,这种指针变量中存的是另一个指针变量的地址,其说明如下:    int val=10;    int *ptr=&val;    int **pptr= ...

  10. Thinkphp学习回顾(二)之config.php的配置

    常见配置项 <? return array( //'配置项'=>'配置值' 'TMPL_L_DELIM'=>'<{', //修改左定界符,防止其与js中的代码重合,发生造成问题 ...