概述:
函数和逻辑操作在python中的地位是非常重要的,当然不只是在python中,几乎每一门编程语言都会用到这两样,所以打好基础对我们以后的学习非常重要,Python中的函数有很多都是已经封装好的,我们可以自己用语言去实现一个函数,这样不仅让我们可以有更好解决问题的能力,还可以对函数有更深的了解。
函数:
首先我们要知道python中的参数分为两种类型,分别是可变和不可变类型。
不可变类型:变量赋值 a=5 后再赋值 a=10,这里实际是新生成一个 int 值对象 10,再让 a 指向它,而 5 被丢弃,不是改变a的值,相当于新生成了a。
可变类型:变量赋值 la=[1,2,3,4] 后再赋值 la[2]=5 则是将 list la 的第三个元素值更改,本身la没有动,只是其内部的一部分值被修改了。
不可变类型示例
#不可变对象 def ChangeInt(Number): Number = 100 return Number_ture = 90 ChangeInt(Number_ture) print(Number_ture) #打印结果 90 因为Python本身并不存在一些值传递还是地址传递,所有的对象也并没有固定的类型,我们可以理解为是修改了一个复制过来的,并不能影响Number_true本身
可变类型示例
#可变对象 def ChangeList(MyList): MyList.append([1,2,3,4]) return MyList = [10,10,10] ChangeList(MyList) print(MyList) #打印结果[10, 10, 10, [1, 2, 3, 4]]
默认参数
我们给函数的形参赋值,而这个值也可以被称为默认参数。示例如下
def printinfo(name, age = 35): print(name,age) return printinfo(50,"lucy")
值得一提的是如果形参有两个我们至少要填一个参数,否则会报错!
不定长参数
我认为python里面一个非常厉害的功能,不定长参数,他会把带星号的输入参数当作元组去处理,这样我们就可以实现输入一个或者多个参数,非常方便。但是好处往往也对应着坏处,API的封装同时对应的就是时间的消耗,所以说平时我们对于代码的要求还是需要考虑一些时间方面,养成好习惯。
#不定长参数 带星号的输入参数被当作元组处理 def functiom_indeterminacy(arg, *vartuple): print(arg) for var in vartuple: print (var) return functiom_indeterminacy(10,20,30) #打印结果 10 20 30 functiom_indeterminacy(10,20,30,40,50,60) #打印结果 10 20 30 40 50 60
匿名函数
这是一个不用def就能实现的函数,主要依靠与lambda关键字。
#匿名函数 sum = lambda number1,number2:number1 + number2 print(sum(10,20)) #打印结果30
return
我们也可以返回一些值,这个比较容易理解,大家看看即可
#return def functionSum(number1,number2): All = number1 + number2 return All AllResult = functionSum(20,20) print(AllResult) #打印结果 40 #值得一提的是在函数中定义的变量是局部变量,在函数外是不能被访问的,这一点在C语言中非常常见,相反函数定义的变量就是全局变量
逻辑操作:
逻辑运算符
#逻辑运算符 c语言解释法:#在Python种,&&是or,||是and,!是not or是一真为真 例如tureorfalse 则返回的是true and是一假为假 例如 false and true 则返回的是false true and true 返回的则是true
IF语句
if语句就是当条件为真时执行下面的语句,否则就执行else里面的语句,当然我们也可以if else组合起来使用
#if 格式: if condition: 语句 if True: print("True") print("True1") else: print("false") name = "ruler" if name == "ruler": print("ruler") elif name == "lucy" print("lucy") else: print("not ruler") #打印结果 True True1 ruler
while语句
while语句在python种是非常重要和非常常用的语句。
while condition: 语句 #while a = 1 while a!=10: print(a) a+=1 #打印结果 1 2 3 4 5 6 7 8 9
break和continue
break和continue是为了控制循环的一个手段,break是跳出本次循环,并不再进入,而continue则是完成本次循环,然后继续下一次循环
#break number = 5 while(number > 2): number-=1 if(number == 3): break print("我是打印的内容") #打印内容 我是打印的内容 只有一次 因为当number等于3的时候就跳出了循环,并且不再进入 #continue number = 5 while(number > 2): number-=1 if(number == 3): continue print("我是打印的内容") #打印内容 我是打印的内容 我是打印的内容 有两次,因为continue跳出本次循环后会继续进入下次循环
for和pass
for循环在python种就是为了便利一些数组,非常的方便
Python pass 是空语句,是为了保持程序结构的完整性。
pass 不做任何事情,一般用做占位语句。
Python 语言 pass 语句语法格式如下:
#for and pass for letter in "python": print("当前字母:%s" %letter) fruits = ["banana","apple","mango"] for fruit in fruits: print("当前水果:%s" %fruit) for index in range(len(fruits)): print("当前水果:%s" %fruits[index]) for letter in "python": if letter == "o": pass print("pass") print("当前字母:%s" %letter) #打印内容 当前字母:p 当前字母:y 当前字母:t 当前字母:h 当前字母:o 当前字母:n 当前水果:banana 当前水果:apple 当前水果:mango 当前水果:banana 当前水果:apple 当前水果:mango 当前字母:p 当前字母:y 当前字母:t 当前字母:h pass 当前字母:o 当前字母:n
编辑