(二)Python基础结构

目录

基础结构

函数

默认参数

关键字参数

传递函数 

lambda函数

变量作用域

模块

包和库

基本运算

基础语句

条件结构

循环结构

while语句

for语句

continue和break


基础结构

图 1  基础结构

Python中基础结构主要包含了函数、模块、包和库,此处主要介绍用户自定义函数

函数

用户自定义函数就是用户根据自己的需求而创建的函数,其语法规则如下:

图 2 用户自定义函数

代码实现如下:

def add(x):       '''函数部分 '''  
    return x + x
print(add(3))

默认参数

默认参数,可以先给参数一个默认的值,在没有给函数参数的时候,执行默认参数,具体使用细节在图 2 ,代码实现如下:

def f(x=True):
    if x:
        print('这是默认参数')
    print('ok')


f()

运行结果如下:

 如果给函数一个参数,则按所给参数执行,代码实现如下:

def f(x=True):
    if x:
        print('这是默认参数')
    print('ok')


f(False)

 运行结果如下:

关键字参数

关键字参数,不需要考虑参数的顺序而直接使用,代码如下:

def f(x, y):
    if y:
        print('这是关键字参数')
    print(x, '这是x的值')


f(y=True, x=666)     #通过关键字参数,虽然参数的顺序反了,但任然可以运行

 运行结果如下:

传递函数 

传递函数,将函数当初一个参数进行传递,代码实现如下:

def add(x):
    return x + x


def self(f, y):
    print(f(y))


self(add, 3)    #运行结果是6

lambda函数

lambda函数,也叫匿名函数,可以和函数式编程结合起来,比较简洁方便,代码实现如下:

add = lambda x, y: x + y
print(add(3, 3))  #输出结果是6

此外,还有一个递归函数,但递归比循环要慢,所以能使用循环实现的,尽量用循环实现,递归实现代码如下:

def f1(a, b):
    if b == 1:
        return a
    else:
        return a+f1(a, b-1)
print(f1(2, 3))     #运行结果是6,相当于2*3

变量作用域

图 3 变量作用域

 变量主要分为全局变量和局部变量,通过global可以将局部变量转换为全局变量,代码实现如下:

def f(x):
   print(a)    #此处会报错,a未被赋值就进行调用
   a = 5
   print(a+x)
a=3
f(8)

而将a 加上global 语句之后,代码如下:

def f(x):
    global a
    print(a)
    a = 5
    print(a + x)


a = 3
f(8)   # 输出 3 和  13

模块

完整的python文件就是一个模块,使一个用模块时,需要将其模块进行导入,具体操作代码如下所示:

import math
a = math.floor(3.14)
print(a)    #输出结果是3,这是一个向下取整函数

同时引入多个模块,需要用“,”隔开,代码实现如下:

import math,datetime
a = math.floor(3.14)
print(a)
b = datetime.datetime.now()
print(b)

运行结果如下所示:

如果像单独引用某一个模块,则使用from import 语句,代码实现如下:

from math import floor
a = floor(3.14)
print(a)  #输出为3

注 :如果想引入所有模块,但又不想打模块名,可以使用from import+*来实现,代码实现如下:

from turtle import *
pensize(1)
pencolor("red")
fillcolor("pink")
setup(800, 800, 0, 0)
speed(4)
penup()
goto(-30, 100)
pendown()
begin_fill()
left(90)
circle(120, 180)
circle(360, 72)
left(38)
circle(360, 72)
circle(120, 180)
end_fill()
penup()
goto(-30, 100)
pendown()
done()

运行效果如下所示:

 还可以将模块重命名,使用 import+模块名 +as+重命名来实现,代码如下所示:

import math as m
a = m.floor(3.14)
print(a)   #运行结果还是3

包和库

包和库,目前接触不多,常用库在之后进行介绍,具体内容请看图 1

基本运算

 图 4 基本运算

因为运算与C 语言差别不大,此处就不详细介绍,主要介绍一下乘方运算和比较运算中与c语言不同的地方,实现代码如下:

print(2 ** 3)      #这个输出8,相当于2*2*2
if 5 > 4 > 3:      #python中允许这样的运算,所以输出ok
    print("ok")    

基础语句

图 5 基础语句 

条件结构

与C语言中的if类似,主要区别就是多了一个elif和条件表达式与c语言略有区别,具体内容请看图 5 ,实现代码如下:

k = input('input : ')
if k == '1':
    print('ok')
elif k == '2':     #elif 语句,就是一个嵌套判断
    print('hellow')
else:
    print('you input the invalid number')
a = 1 if 3 > 2 else 0    #3>2为真,则返回1,为假则返回0
print(a)

循环结构

while语句

while语句和C语言类似,有区别的地方就是,while后接else是C语言没有的,具体语法规则实现,如下代码所示:

a = 6
while a > 4:
    a = a - 1
    if a < 3:
        print("1")
        break      #未执行break语句,所以输出else语句内容
else:
    print("0")     #输出结果为0

若将代码适当修改,则else语句不被执行,代码如下:

a = 6
while a > 2:
    a = a - 1
    if a < 3:
        print("1")
        break       #执行了break语句,所以不执行else语句
else:
    print("0")      #输出结果是1

for语句

for语句与C语言有了明显区别,接下来重点介绍for语句,知识点请看图 5 ,代码实现如下所示:

序列项迭代:

s = 'Python'
for c in s:
    print(c,end=' ')    #输出结果为P y t h o n 

索引迭代:

s = "Python"
for i in range(len(s)):
    print(s[i],end=' ')        #输出结果为P y t h o n 

for语句后接else和while后接else类似,此处不展开介绍,代码实现如下:

s = "Python"
for i in range(len(s)):
    if i > 4:
        print(s[i],end=' ')     #代码输出n 
        break
else:
    print('ok')       
s = "Python"
for i in range(len(s)):
    if i > 48:
        print(s[i],end=' ')
        break
else:
    print('ok')         #代码输出ok

注:Python中的for语句不会像C语言里一样会自动递增,千万要区分开来!

continue和break

与C语言基本一致,此处不再分析

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值