python 02
函数的参数
默认参数: 函数的基本形参, 可以有默认参数, 什么是基本形参呢, 就是普通变量, 如字符串, 数字等. 并且带有默认参数的形参, 要放在后边.
传参时, 不必将所有的参数都传递, 可以只传递部分参数, 但是要明确指出你传递的参数.例如
虽然, 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的更多相关文章
- [Python] 02 - String
字符串 string 一.基本性质 不变性 Immutability 要变就 --> list --> string 二.功能函数 功能函数 S = 'Spam" S.find( ...
- python 02/100例
题目 输入某年某月某日,判断这一天是这一年的第几天? 分析 例如:2018年6月19日 天数 = 19天 + 一月天数 + 2月天数 + ... + 6月天数 注意 闰年的2月是29天,如果年份是闰年 ...
- python 02 8/21-8/23
计算机由硬件系统和软件系统组成,硬件系统分为由CPU(运算器+控制器)+内存储器(电信号)组成的主机部分,由输入设备+输出设备+外存储器(硬盘(磁信号).U盘)组成的外设部分.软件系统由系统软件和应用 ...
- Python 02 编写代码
原文:https://www.cnblogs.com/jimmy-share/p/9784219.html 方式: 交互式编程:打开python.exe文件后,直接输入代码即可.文件的位置(我本地): ...
- 机器学习 - Python 02
好了,咱们接着上一节的内容,继续学习机器学习中的Python语法部分.这一节算是Python语法的最后一节了.也就是说如果真的看懂了这两节的内容,理论上说就机器学习的领域或者方向,语言已经不是问题了. ...
- python 02 if while
1. if的格式 >>> 1<3 True 真>>> 1>3False 假 if 条件: 条件 + : (t ...
- 实验与作业(Python)-02 Python函数入门与温度转换程序
截止日期 实验目标 学会定义函数,使用函数.学会导入在某个文件中定义的函数. input获得值,然后通过eval或者int.float将其转换为相应的类型. 学会使用列表:访问列表.append.遍历 ...
- 【Python 02】计算机与程序设计
计算机 根据一系列指令对数据进行处理的工具或机器. 特征: 可以进行计算 根据指令执行任务 组成: 运算器+控制器(CPU) 存储器(内存及硬盘):内存存储临时数据.硬盘存储相对永久的数据 输入设备和 ...
- 实验与作业(Python)-02 Python函数入门与温度转换程序(函数、input、eval、int、float、列表)
截止日期 实验目标 学会定义函数,使用函数.学会导入在某个文件中定义的函数. input获得值,然后通过eval或者int.float将其转换为相应的类型. 学会使用列表:访问列表.append.遍历 ...
随机推荐
- fzuoj Problem 2129 子序列个数
http://acm.fzu.edu.cn/problem.php?pid=2129 Problem 2129 子序列个数 Accept: 162 Submit: 491Time Limit: ...
- ASPX开发基础
ASP.NET:.net开发网站应用程序的技术总称,分为WebForm和MVC 表单元素: 文本类:(1)<input type=“text”/> 文本框 (2)<input typ ...
- .NET委托和事件
.net学习之委托和事件 1.什么是委托 通俗的说:委托就是一个能够存储符合某种格式(方法签名)的方法的指针的容器 上传图片: 2.委托语法 准备一个方法:string Hello(string ...
- response.write();改变页面布局的原因及解法
Response.Write ,在ASP.NET 中不要随便使用 Response.Write,其原因是它会打乱 ASP.NET 的输出流顺序,在aspx.cs 中使用 Response.Write ...
- CheckBox 半选中状态
<input type='checkbox' />可以半选中,这个特性,很多浏览器都支持,包括Firefox,Chrome和IE 用 input.indeterminate 这个属性来获取 ...
- SSIS变量属性中EvaluateAsExpression设置的作用
我们在做SqlServer SSIS包开发的时候,经常会用到SSIS的变量,我们可以使用和修改SSIS变量的值使得SSIS包的逻辑更灵活,如下图所示: 在定义SSIS变量的时候可以使用固定值(如上图中 ...
- 阿里yum源
转:http://mirrors.aliyun.com/help/centos?spm=5176.bbsr150321.0.0.d6ykiD 1.备份 mv /etc/yum.repos.d/Cent ...
- Dynamics AX 2012 R2 窗体系列 - 在窗体上修改字段时所触发的方法及其顺序
在这个系列里,Reinhard将和大家一起探索在AX的窗体上执行操作时,都会触发窗体.窗体数据源和表上的哪些方法,并且是以怎样的顺序触发的. 这次,我们来看看在窗体上修改或录入数据的情 ...
- Selenium Chrome浏览器的启动以及proxy设置
Selenium Chrome浏览器的启动以及proxy设置 虽然WebDriver对Firefox的支持最好,之前写的脚本也都在Firefox浏览器运行,但最近项目做了整合,发现新整合的功能不太 ...
- mysql优化一 之 优化内容概述及开启慢查日志的相关配置
1-1数据库优化的目的 首先是为了避免出现页面访问错误(基本有三种) (1)由于数据库连接timeout产生的页面5XX错误 (2)由于慢查询造成页面无法加载 (3)由于阻塞造成的数据无法提交 其次: ...