web前端学习python之第一章_基础语法(二)

2021年09月15日 阅读数:1
这篇文章主要向大家介绍web前端学习python之第一章_基础语法(二),主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

web前端学习python之第一章_基础语法(二)

 

前言:最近新作了一个管理系统,前端已经基本完成,html

可是后端人手不足没人给我写接口,自力更生丰衣足食,前端

因此决定自学python本身给本身写接口哈哈哈哈~python

上一章内容:web前端学习python之第一章_基础语法(一)web

 

 

函数的定义和使用后端

内置函数app

python有不少内置的有用的函数,能够直接调用,参考网址:https://docs.python.org/3/library/functions.html#abs函数

数据类型转换学习

其余数据类型转为整数int()ui

>>> int('123')
123
>>> int(12.34)
12
>>> float('12.34')
12.34
>>> str(1.23)
'1.23'
>>> str(100)
'100'
>>> bool(1) True >>> bool('') False

函数名spa

函数名其实就是指向一个函数对象的引用,彻底能够把函数名赋给一个变量,至关于给这个函数起了一个“别名”

>>> a = abs # 变量a指向abs函数
>>> a(-1) # 因此也能够经过a调用abs函数
1

定义函数

在python中,定义一个函数须要使用def语句

 

def my_abs(x):
    if x >= 0:
        return x
    else:
        return -x

//内容不细讲,js函数是function,这里的关键字改为了def,不知道python有没有相似于箭头函数那种的写法

 

return意义与js一致,代码执行到return是,函数就执行完毕,并将结果返回,若是没有return函数执行完毕后也会返回结果,只是结果为none,return none可简写为return

引入函数

若是你已经把my_abs()的函数定义保存为abstest.py文件了,

那么,能够在该文件的当前目录下启动Python解释器,

from abstest import my_abs来导入my_abs()函数,注意abstest是文件名(不含.py扩展名):

│>>> from abstest import my_abs                         
│>>> my_abs(-9)                                          
│9

空函数

若是想定义一个什么事也不作的空函数,能够用pass语句:

def nop():
    pass

定义一个空函数有什么意义呢?

pass能够用来做为占位符,好比如今还没想好怎么写函数的代码,就能够先放一个pass,让代码能运行起来

pass也能够用在其余语句中

if age >= 18:
    pass

传参的数据类型检查

有时候咱们会传一些不恰当的参数致使代码报错,咱们能够进行数据类型检查,数据类型检查用内置函数isinstance()实现

def my_abs(x):
    if not isinstance(x, (int, float)):
        raise TypeError('bad operand type')
    if x >= 0:
        return x
    else:
        return -x

默认参数(默认参数必须指向不变对象!)

咱们传递参数的时候若是参数传的不全就会报错,咱们能够给一些参数设置默认参数

def power(x, n=2):
    s = 1
    while n > 0:
        n = n - 1
        s = s * x
    return s

小坑坑

def add_end(L=[]):
    L.append('END')
    return L

//调用第二次和第三次时
>>> add_end()
['END', 'END']
>>> add_end()
['END', 'END', 'END']

//Python函数在定义的时候,默认参数L的值就被计算出来了,即[],由于默认参数L也是一个变量,它指向对象[],
//每次调用该函数,若是改变了L的内容,则下次调用时,默认参数的内容就变了,再也不是函数定义时的[]了。


//能够使用none这个不变对象来实现
def add_end(L=None): if L is None: L = [] L.append('END') return L

可变参数

因为参数个数不肯定,咱们首先想到能够把a,b,c……做为一个list或tuple传进来,

def calc(*numbers):
    sum = 0
    for n in numbers:
        sum = sum + n * n
    return sum


//*是重点

若是已有一个list或者tuple,要调用一个可变参数怎么办

>>> nums = [1, 2, 3]
>>> calc(*nums)
14

这样有点相似与apply,是把参数一个个传的或者相似于[...nums]

关键字函数(**可传可不传,可传任意个)

调用函数时能够只传入必须参数和任意个数的关键字参数

def person(name, age, **kw):
    print('name:', name, 'age:', age, 'other:', kw)

>>> person('Bob', 35, city='Beijing')
name: Bob age: 35 other: {'city': 'Beijing'} >>> person('Adam', 45, gender='M', job='Engineer') name: Adam age: 45 other: {'gender': 'M', 'job': 'Engineer'}