条件控制语句
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