python变量和函数_一起学Python | 理论篇(5) 变量和函数

人生苦短,我用Pyton!

大家好,今天我们来学习理论篇的最后一课——变量和函数,下一节课就开始步入基础了。

6a24c993bccb

image

变量

首先讲讲变量。变量就好比一个房子,里面住着一个值,这个值有很多类型,比如数字、字符串、列表、字典。

与一些语言(比如C)不同,Python是弱类型语言。强类型语言和弱类型语言的区别就在于:

强类型语言的变量类型是在变量定义之初就确定了的,不可更改了,而弱类型语言的变量类型可以修改。举几个栗子:

C:

int a = 1;

a = "1"; // 报错

JAVA:

int a = 1;

a = "1"; // 报错

JAVASCRIPT:

var a = 1;

a = "1"; // 正常

PYTHON:

a = 1

a = "1" // 正常

还有,Python的变量定义只需要使用name = value的格式就可以定义,不需要指定类型,也不需要加一个“var”。另一种定义方式是比如a = str('HelloWorld'),此时打印a就会获得一个HelloWorld,其它类型一样。

函数

接下来讲讲函数。首先,函数就相当于几行的代码,你调用这个函数,就会执行这些代码。在Python中函数的定义为:

def function(arg):

# Do something

return

我们来分析一下这些代码:

首先,我们使用def关键字定义了一个函数function,这个函数接受一个参数arg,定义完函数后用一个半角的冒号结束这行。

下一行用四个空格(不是一个tab)开始,第一行是一个注释,Python的注释用#开头,井号后面的内容将会被编译器忽略,不执行,可以注释这行代码的作用。

最后一行是一个return关键字,表示返回一个值,这里是返回一个空(None)如果用变量接收,将会是一个None。如果不写这行代码,编译将会报错,因为这个函数里什么也没有(注释不算),如果你不想写return,你可以用pass来代替,也表示结束,但是不返回一个值(接收的话还是None)。

接下来我们具体讲一下函数:

首先,函数的调用可以是function(arg, kwarg=value),其中,function是这个函数的名字,也就是定义时def后面(前面的那个名字,arg是一个变量,在函数外叫实参,而在函数内叫形参。kwarg是一个关键字参数,也就是具体指定某一个参数为什么值。如果这个函数有return返回值,你可以用一个变量接收它,例如a = function()。

最后,我们来一个小小的测试:

'''

Test 1

(我是一个多行注释(其实就是一个多行字符串))

'''

def test1(): # 定义一个函数test1,不接受任何参数

return 'HelloWorld' # 返回一个字符串'HelloWorld'

>>> test1('HelloWorld')

Traceback (most recent call last):

File "", line 1, in

TypeError: test1() takes 0 positional arguments but 1 was given

(类型错误:test1()只需要0个参数但是给了1个)

>>> test1()

'HelloWorld'

(这里输出了返回值,因为这是在PythonShell中,如果在代码中则不会有任何输出)

>>> 1 = test1()

File "", line 1

SyntaxError: can't assign to literal

(变量不能以数字开头!)'

>>> a = test1()

>>> print(a)

HelloWorld

(没有引号)

>>> a

'HelloWorld'

(有引号)

# Test 2

def test2(arg1, arg2, arg3=1, arg4=2): # arg3的默认值为1,arg4的默认值为2

# arg1 = 10

# 上面那行和这行都不会执行

return arg1 + arg2 + arg3 + arg4

>>> test2()

Traceback (most recent call last):

File "", line 1, in

TypeError: test2() missing 2 required positional arguments: 'arg1'

(类型错误:test2()缺少2个需要的参数:'arg1')

(arg3和arg4有默认值,可以不填,但是arg1和arg2必填)

>>> test2(1, 1, 1, 1)

4

>>> test2(1, 1, arg4=3)

6

(指定了arg4为3,arg3则为默认值1)

(关键字参数必须放在普通参数的后面,普通的参数则会按照顺序排列填入)

'''

Python的函数是不限定返回值的

你可以在一个函数里,用几个if语句,一个返回字符串,一个返回数字,这些都是可以的。

'''

好了,本期教程到这里就结束。。。等等,还有一件事要交代:

我们在写代码的时候一定要遵守一个规范,也要写一些注释,这样方便自己以后查看,也方便别人查看。如果是一个团队,互相之间约定好用什么格式,如果是个人,可以用PEP8规范,但是PEP8里也有一些不太适用的,比如单行的长度。总之,规范还是要有点的。

好了,这回真的结束了!!!

本文作者:寒枫岭

转载请注明原作者!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值