Python学习:5、if语句,while语句,函数详解编程语言

条件控制语句

if语句

简单if判断语句,当if后面的条件为真的时候,执行print(‘yes’),否则执行else里面的语句,print(‘No’)

if True: 
    print('yes') 
else: 
    print('No')

多次判断

首先判断pd是否大于零,否则判断pd是否小于零

pd = input('请输入数字:') 
pd = int(pd)        #使用input拿到用户输入的值得类型都是字符串 
if pd > 0: 
    print('输入的为正值') 
elif pd < 0: 
    print('输入的为负值') 
else: 
    print('输入的为零')

三目运算

三目运算就是将if else语句通过一条语句表示出来,格式如下

name=值1 if 条件 else 值2 
如果"条件"成立就把"值1"赋值给"name" 
如果"条件"不成立就把"值2"赋值给"name"
name="alexsel" if 1==1 else "eric" 
print(name) 
 
输出结果: 
alexsel

三目运算的的目的就是减少代码量。

循环语句

 一、for循环

遍历输出有多个元素的数据,例如一个字符串,一个列表。使用in拿到后面变量里的单个元素。

str = "alexsel" 
list = [1,2,3,'alexsel'] 
for i in str: 
    print(i) 
print('----------------') 
for k in list: 
    print(k) 
 
输出结果: 
a 
l 
e 
x 
s 
e 
l 
---------------- 
1 
2 
3 
alexsel

可以使用break提前结束循环

for i in range(10): #使用range一个可循环的0到9的数列。 
    print(i) 
    if i == 5: 
        print('结束循环') 
        break    #如果不提前结束就输出1到9 
 
 
输出结果: 
0 
1 
2 
3 
4 
5 
结束

使用continue跳过一次循环

for i in range(10):  
    if i == 5: 
        continue    #使用这个语句之后,跳过本次循环中在continue之后的语句,在这里跳过了print(i),5没有输出 
    print(i) 
 
 
 
输出结果: 
0 
1 
2 
3 
4 
6 
7 
8 
9

 

二、while循环

while一般形式如下

while 条件: 
    语句

当条件为真的时候一直执行,直到条件为假。

var = 1 
while var < 10: 
    print(var) 
    var += 1 
 
 
输出结果: 
1 
2 
3 
4 
5 
6 
7 
8 
9

当条件一直为真,会无限循环。

var = 1 
while var == 1: 
    print(var) 
 
 
输出结果: 
1 
1 
1 
1 
1 
....

while循环中使用else,当while循环为假的时候,执行else中的语句。

i = 0 
while i < 5: 
    print(i) 
    i += 1 
else: 
    print('i等于5') 
 
 
输出结果: 
0 
1 
2 
3 
4 
i等于5

 

函数

一、创建函数

1、创建一个函数的基本格式

def 函数名(形式参数): 
    函数体 
    return "123" 
   

二、函数的返回值

函数执行了return之后就不再执行下面的代码,并且将返回的值给调用函数之后赋予的变量。

def f2(): 
    name = 'alexsel' 
    return name 
 
tem = f2() 
print(tem) 
 
 
 
输出结果: 
alexsel

三、函数的调用

使用函数的名字调用函数

def f1(): 
    print('我被调用了') 
 
f1()    #在这里函数被调用

四、向函数中传入参数

传入函数中的参数需要一一对应,在下面的示例中,alexsel将值传给name,50传给age,是第几个,就传递给第几个。

def obj(name,age): 
    return name+'的年龄为'+str(age) #这里传入的参数的类型为数值,我们要做字符串拼接,将它转换为字符串 
 
str = obj('alexsel',50) 
print(str) 
 
 
输出结果: 
alexsel的年龄为50

五、函数可以有默认参数

一个函数中的参数可以设置默认值,当没有对参数传递值得时候,就使用默认值,有默认值的参数应该放在没有默认参数的后面。

def drive(name=""):  #name这个有默认参数,有默认参数的应放在无默认参数的后面,否则报错,无默认参数的必须传参数,有默认参数的可以不传参数 
    temp=name+"开车"     
    return temp 
ret=drive("you")  
print(ret) 
ret=drive("he") 
print(ret) 
ret=drive() 
print(ret) 
 
输出结果: 
you开车 
he开车 
我开车

六.动态参数

1.可以接收多个值的动态参数

def a1(*a):  # 动态参数,可以接受多个值 
    print(a, type(a))  # 现在a的类型为元组,把你传入的实参当作元组的元素 
 
a1(123, 3, 444, 555, [11, 22, 33])  # 这里的传入的列表视为一个元素 
 
 
 
输出结果: 
((123, 3, 444, 555, [11, 22, 33]), <type 'tuple'>)

2.以及将接收多个参数转换为字典的动态参数

def a2(**b):  # 动态参数,接收的参数转换为字典 
    print(b, type(b))  # b的类型为字典,传过来的参数转换为字典 
 
 
a2(k1=123, k2=345) 
 
 
 
输出结果: 
({'k2': 345, 'k1': 123}, <type 'dict'>)
def a3(p, *a, **aa):        #这里的a拿到传入的第一个参数,*a拿到不是字典类型的参数,**拿到传入是字典类型的参数 
    print(p, type(p)) 
    print(a, type(a)) 
    print(aa, type(aa)) 
 
a3(11, 22, 33, k1=123, k2=456) 
# 在这里自动把11给p,22,33给*a,把k1=123,k2=456给**a 
# **要在*前面,这两个要在一般参数数的后面,而且实参也要按此排序 
 
 
输出结果: 
(11, <type 'int'>) 
((22, 33), <type 'tuple'>) 
({'k2': 456, 'k1': 123}, <type 'dict'>)

3、为动态参数传入 列表、字典、元组的示例:

将字典传入函数中不能直接传递,需要在传递的函数之前添加**

def f1(*args): 
    print(args) 
 
li = [11, 22, 33] 
f1(li)  # 这样传参数则这个args元组的第一个元素为列表[11,22,33] 
f1(*li)  # 这样传参数是会把这个列表的每一个元素一一传过去结果会是 
# 这个列表的每一个元素会成为args元组的每一个元素(11,22,33) 
 
def f2(**kwargs): 
    print(kwargs) 
dic = {"k1": 123, "k2": "aas"} 
#f2(dic)  # 这样传参数报错 
f2(k1=dic)  # 这样传参数会变成kwargs={"k1":{"k1":123,"k2":"aas"} 
f2(**dic)  # 要想把dic里的元素一个一个传过去,格式为kwargs={"k1":123,"k2":"aas"},需要在dic前加** 
 
输出结果: 
([11, 22, 33],) 
(11, 22, 33) 
{'k1': {'k2': 'aas', 'k1': 123}} 
{'k2': 'aas', 'k1': 123}

七、局部变量、全局变量

1、局部变量

局部变量一般在函数中定义,它的作用域也仅仅只在这个函数中可以调用,在函数之外不能调用。

def f1(): 
    a=123 
    print(a)#这个a为局部变量只有这个函数里才能用 
f1() 
print(a)#在函数之外输出这个a会报错 
 
输出结果: 
123 
然后是报错信息

2.全局变量

a = 1234  # 全局变量 
b = 1000001 
 
def f1(): 
    a = 123  # 这个a为局部变量只有这个函数里才能用 
    print(a)  # 在这里输出的是局部变量,在自己的函数中首先寻找自己函数中是否定义了这个变量,如果没有就使用全局变量 
    print(b) 
 
f1() 
 
 
输出结果: 
123 
1000001

如果想在函数之外调用函数中定义的变量,可以在函数中定义一个全局变量

a = 1234 
 
def f1(): 
    global a  #在这里定义了一个全局变量,在下面对全局变量进行重新赋值 
    a = 123 
    print(a)  # 输出结果为:123 
 
f1() 
print(a)  # 输出结果为:123 
 
 
输出结果: 
123 
123

Python中还有大量的内置函数,我们在以后的学习中会继续讲解,今天的学习到此结束了,如果有错误的地方欢迎大家指出。

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/12361.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论