函数的参数

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

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

虽然, 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. How to use umbraco datetime property editor

    When I was using Umbraco datetime property editor, I met with a problem that the editor must be firs ...

  2. PAT——乙级真题1003代码

    #include<iostream> #include<string> using namespace std; int getLength(string str0); int ...

  3. 浅谈大型web系统架构

    动态应用,是相对于网站静态内容而言,是指以c/c++.php.Java.perl..net等服务器端语言开发的网络应用软件,比如论坛.网络相册.交友.BLOG等常见应用.动态应用系统通常与数据库系统. ...

  4. 我的archlinux中安装的关于xfce4的软件

    包括一些panel的插件: xfce4-appfinder - xfce4-battery-plugin - xfce4-eyes-plugin - xfce4-mixer - xfce4-netlo ...

  5. 如何申请国际版Office365和Azure的试用账号

    关键字:国际版.Office365.Azure.试用账号.1美元.信用卡 待续

  6. CheckBox 半选中状态

    <input type='checkbox' />可以半选中,这个特性,很多浏览器都支持,包括Firefox,Chrome和IE 用 input.indeterminate 这个属性来获取 ...

  7. YbSoftwareFactory 代码生成插件【二十三】:集成强大的公文流转系统

    今天有空更新博客才发现快一年没有写博客了,不得不感叹时间过得真快.过去的一年确实也挺忙的,在此祝各位博友们新的一年工作顺利.权限模型在过去一年进行了不少的升级,主要集成了公文流转系统.多家手机短信接口 ...

  8. JAVA中的异常及处理异常的方法

    异常 这是我老师的喜好:就是说一上来就拿一张图给大家看看,过过瘾-_- 这是一张: 异常分类图 来,这里还有一张带中文的常见异常截图!!! 1:先来说说什么是异常吧: 其实就是"阻止当前方法 ...

  9. Tween.js的使用示例

    可参考:http://www.htmleaf.com/jQuery/Layout-Interface/201501271284.html 官方文档:https://github.com/tweenjs ...

  10. openlayers 3 简书

    1. 简书http://www.jianshu.com/p/6785e755fa0d 2. 文档 http://anzhihun.coding.me/ol3-primer/ch03/03-02.htm ...