自学内容网 自学内容网

Python基础语法(2)

循环

布尔类型

布尔类型字面量:

  • True表示真(是,肯定)
  • False表示假(否,否定)

比较运算符:== != > < >= <=

num1 = int(input())
num2 = int(input())
print(f"num1>num2的结果是:{num1>num2}")
print(f"num1<num2的结果是:{num1<num2}")
print(f"num1==num2的结果是:{num1==num2}")

if-else-elif

if

if 要判断的条件:

​ 条件成立要执行的内容

num = 10
if num>0:
    print("大于0")
print("不大于0")

if-else

if 条件:

​ 条件满足的事情

else:

​ 条件不满足的事情

num = int(input())
if num>0:
    print("大于0")
else:
    print("不大于0")

if-elif-else

if 条件1:
条件1满足的事情

elif 条件2:

​ 条件2满足的事情

else:

​ 所有条件都不满足的事情

num = int(input())
if num>0:
    print("大于0")
elif num<0:
    print("小于0")
else:
    print("等于0")

while循环

i=0
while i<100:
    i+=1
    
print(i) #打印出100

猜数字案例

import random
num = random.randint(1,100)

flag = True
count = 0
while flag:
    guess_num = int(input("请输入猜的数字:"))
    count+=1
    if guess_num == num
    print("猜中了")
        flag = False
    else:
        if guess_num > num:
            print("猜大了")
        else:
            print("猜小了")
print(f"猜对了,你总共猜测了{count}次")

for循环

for 临时变量 in 待处理的数据集:

​ 循环满足条件时执行的代码

例如遍历字符串

name = "abcdef"

for x in name
print(x)

同while循环不同,for循环无法定义循环条件,只能从被处理的数据集中,依次取出内容进行处理,所以理论上讲,Python的for循环无法构建无限循环

range语句

语法1:

range(num)

获取一个从0开始,到num结束的数字序列(不含num本身)

如range(5)取得的数据是:{0,1,2,3,4}

语法2:

range(num1,num2)

获得一个从num1开始,到num2结束的数字序列(不包含num2)

如range(5,10)取得的数据是{5,6,7,8,9}

语法3:

range(num1,num2,step)

获得一个从num1开始,到num2结束的数字序列(不含num2本身)

数字之间的步长,以step为准,step默认为1

如,range(5,10,2)取得的数据是:{5,7,9}

for x in range(10):
    print(x)
 
for x in range(5,10):
    print(x)

for x in range(5,10,2):
    print(x)

变量和作用域

来看这段代码

for i in range(5)
print(i)
    
print(i)

从规范上讲,这个i是个临时变量,出了for循环的作用域就已经销毁了,但是实际上这里的i依旧可以打印出来

但是实际编程并不建议这样做,下面是改进规范版本

i = 0
for i in range(5)
print(i)
    
print(i)

break和continue

  • continue关键字用于:中断本次循环,直接进入下一次循环
  • break关键字用于:直接结束所在循环

continue:

在这里插入图片描述

break:

在这里插入图片描述

函数

函数:是组织好的,可重复使用的,用来实现特定功能的代码段。

函数定义

def 函数名(传入参数):

​ 函数体

​ return 返回值

# 定义一个函数,输出相关信息
def say_hello():
    print("hello world")

# 调用函数,让定义的函数开始工作
say_hello()

注意:

  • 参数不需要,可以省略
  • 返回值不需要,可以省略

函数的传参

# 定义2数相加的函数,通过参数接收被计算的2个数字
def add(x, y, z):
    result = x + y + z
    print(f"{x} + {y} + {z}的计算结果是:{result}")

# 调用函数,传入被计算的2个数字
add(5, 6, 7)
  • 函数定义中的参数,称之为形式参数
  • 函数调用中的参数,称之为实际参数
  • 函数的参数数量不限,使用逗号分隔开
  • 传入参数的时候,要和形式参数一一对应,逗号隔开

函数的返回值

# 定义一个函数,完成2数相加功能
def add(a, b):
    result = a + b
    # 通过返回值,将相加的结果返回给调用者
    return result
    # 返回结果后,还想输出一句话
    # 函数体在遇到return后就结束了,所以写在return后的代码不会执行
    print("我完事了")


# 函数的返回值,可以通过变量去接收
r = add(5, 6)
print(r)

None类型

如果函数没有使用return语句返回数据,函数依旧有返回值

Python中有一个特殊的字面量:None,其类型是:<class ‘NoneType’>
无返回值的函数,实际上就是返回了:None这个字面量

None表示:空的、无实际意义的意思
函数返回的None,就表示,这个函数没有返回什么有意义的内容。
也就是返回了空的意思。

# 无return语句的函数返回值
def say_hi():
    print("你好呀")

result = say_hi()
print(f"无返回值函数,返回的内容是:{result}")
print(f"无返回值函数,返回的内容类型是:{type(result)}")

# 主动返回None的函数
def say_hi2():
    print("你好呀")
    return None

result = say_hi2()
print(f"无返回值函数,返回的内容是:{result}")
print(f"无返回值函数,返回的内容类型是:{type(result)}")
# None用于if判断
def check_age(age):
    if age > 18:
        return "SUCCESS"
    else:
        return None

result = check_age(16)
if not result:
    # 进入if表示result是None值 也就是False
    print("未成年,不可以进入")


# None用于声明无初始内容的变量
name = None

注:None也可以用在if判断上

  • 在if判断中,None等同于False
  • 一般用于在函数中主动返回None,配合if判断做相关处理

例如

def check_age(age):
    if age >18:
        return "success"
    return None
result = check_age(5)
if not result:
    print("未成年,不可进入")

global关键字

使用 global关键字 可以在函数内部声明变量为全局变量

# global关键字,在函数内声明变量为全局变量
num = 200

def test_a():
    print(f"test_a: {num}")

def test_b():
    global num      # 设置内部定义的变量为全局变量
    num = 500
    print(f"test_b: {num}")

test_a()
test_b()
print(num)   #不用global的话这里打印的为200,用global就是500

原文地址:https://blog.csdn.net/m0_70289867/article/details/142915398

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!