python函数

一、函数:

函数是重用的程序段。它们允许你给一块语句一个名称,然后你可以在你的程序的任何地方使用这个名称任意多次地运行这个语句块。这被称为 调用 函数。我们已经使用了许多内建的函数,比如len和range。

def sayHello():
print(‘Hello World!’)

sayHello()

函数形参:

函数的参数是我们提供给函数的值,这样函数就可以利用这些值来做一些操作,这些参数类似变量,不过它们的值是在我们调用函数的时候定义的,而非在函数本身内赋值。
函数中的参数名称为形参,而你提供给函数调用的值称为实参

局部变量:

在函数定义内声明变量的时候,它们与函数外具有相同名称的其他变量没有任何关系,即变量名称对于函数来说是局部的,这称为变量的作用域,

全局变量:

在函数内使用global x表示x为全局变量。

默认参数值:

def say(message,times=1):
Print (message * times)

say(‘Hello’),输出一个Hello
Say(‘Hello’),输出五个Hello

只有在形参表末尾的那些参数可以有默认参数值,即你不能在声明函数形参的时候,先声明有默认值的形参而后声明没有默认值的形参。
这是因为赋给形参的值是根据位置而赋值的。例如,def func(a, b=5)是有效的,但是def func(a=5, b)是 无效 的。

二、模块

函数是定义一次,可以使用多次,那么如果想在其他程序中重用很多函数,则可以使用模块,模块基本上就是一个包含了所有定义的函数和变量的文件,为了在其他程序中重用模块,模块的文件名必须以.py命名。

import sys
print ‘The command line arguments are:’
for i in sys.argv:
print i
print ‘\n\nThe PYTHONPATH is’, sys.path, ‘\n

输出

$ python using_sys.py we are arguments
The command line arguments are:
using_sys.py
we
are
arguments
The PYTHONPATH is [‘/home/swaroop/byte/code’, ‘/usr/lib/python23.zip’,
‘/usr/lib/python2.3’, ‘/usr/lib/python2.3/plat-linux2’,
‘/usr/lib/python2.3/lib-tk’, ‘/usr/lib/python2.3/lib-dynload’,
‘/usr/lib/python2.3/site-packages’, ‘/usr/lib/python2.3/site-packages/gtk-2.0’]

如何工作:

利用import语句输入sys模块,sys模块包含了与python解释器和它的环境有关的函数。

Python执行import sys语句的时候,在sys.path变量中所列目录中寻找sys.py模块,如果找到了这个文件,这个模块的主块中的语句将被运行,然后这个模块能够使用,sys是system的缩写。

模块中的变量通过.来指明,如sys.argv,该方法的一个优势是该名称不会与任何在你的程序中使用的argv变量冲突,另外,它也清晰的表明了该名称是sys模块的一部分。

sys.path包含输入模块的目录名列表。

模块的_name_:

每个模块都有一个名称,在模块中可以通过语句来找出模块的名称,这在一个场合特别有用——就如前面所提到的,当一个模块被第一次输入的时候,这个模块的主块将被运行。假如我们只想在程序本身被使用的时候运行主块,而在它被别的模块输入的时候不运行主块,我们该怎么做呢?这可以通过模块的name属性完成

#!/usr/bin/python
# Filename: using_name.py
if __name__ == '__main__':
print 'This program is being run by itself'
else:
print 'I am being imported from another module 

如何工作:

每个Python模块都有它的name,如果它是’main‘,这说明这个模块被用户单独运行,我们可以进行相应的恰当操作。

三、数据结构

数据结构基本上就是可以处理一些数据的结构,或者说,它们是用来存储一组相关数据的。

Python中有三种内建的数据结构——列表、元组、字典

1、列表

处理有序项目的数据结构,利用方括号表示,可以添加、删除、搜索列表中的项目,也就是说列表是可变的数据类型。

列表是使用对象和类的一个例子,当使用变量i并给它赋值的时候,可以认为创建了一个类(类型)int的对象(实例)i。

类也有方法:即仅仅为类而定义的函数,在有一个该类的对象的时候,才可以使用这些功能,例如list类的append方法。

类也有域:是仅仅为类而定义的变量,在有一个该类的对象的时候,才可以使用这些变量/名称。

2、元组

元组和字符串一样,是不可变的。元组通过圆括号中用逗号分隔的项目定义,元组通常在使语句或用户定义的函数能够安全的采用一组值的时候,即被使用的元组的值不会改变。

3、字典

键值和元素的组合,键值必须是唯一的,键值对在字典中以这样的方式标记:d = {key1 : value1, key2 : value2 }。注意它们的键/值对用冒号分割,而各个对用逗号分割,所有这些都包括在花括号中。

四、面向对象的编程

1、面向过程的编程:根据操作数据的函数或语句块来设计程序
2、面向对象的编程:把数据和功能结合起来,用称为对象的东西包裹起来组织程序的方法

面向对象编程的两个主要方面:类+对象,类创建一个新类型,而对象是这个类的实例。

属于一个对象或类的变量称为“域”,对象也可以使用属于类的函数来具有功能,这样的函数被称为类的方法,域和方法合称为类的属性。

域有两种类型:

① 属于每个实例/类的对象(实例变量)
② 属于类本身(类变量)

类如何创建:使用关键字class,类的域和方法被列在一个缩进块中

Self:

类的方法与普通函数只有一个区别,类的方法必须有一个额外的参数名称——self,但是调用该方法的时候不为这个参数赋值,该特别的变量指对象本身。

init

类的一个对象被建立时,马上运行。这个方法可以用来对你的对象做一些你希
望的 初始化 。

类与对象的方法:

类的变量是类中定义的变量,对象的变量是类中定义的对象的变量。

Sys模块:包含系统对应的功能

Os模块:包含普遍的操作系统功能

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

呆呆的猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值