一、函数的返回值、文档以及参数的相关知识介绍
不多说,直接上代码哈哈
#函数的参数:
def MySecondFunction(name):
print (name + "哥哥") #name是形参,'谢谢你'是实参
MySecondFunction('谢谢你')
def add(name1,name2):
result = name1 + name2
print (result)
add(1,2)
#函数的返回值
def add(name1,name2):
return (name1 + name2)
print (add(5,6))
#函数的文档:对函数内容的介绍:
def MyFirstFunction1():
'gegemeimei'
print ("谢谢你哥哥")
print (MyFirstFunction1.__doc__)
#关键字参数:不会出现顺序乱了
def SaySome(name,words):
print (name + "就是" + words)
SaySome('弟弟','达达')
def SaySome(name,words):
print (name + "就是" + words)
SaySome('达达','弟弟')
def SaySome(name,words):
print (name + "就是" + words)
SaySome(words = '达达',name = '弟弟')
#默认参数
def SaySome(name = '弟弟',words = '达达'):
print (name + "就是" + words)
SaySome() #不会报错
def SaySome(name = '弟弟',words = '达达'):
print (name + "就是" + words)
SaySome('哥哥')
#收集参数
def test(*params):
print ('参数的长度是:',len(params))
print ('第二个参数是:',params[1])
test(1,2,3,'哥哥','sister',67,89)
def test(*params,exp):
print ('参数的长度是:',len(params),exp)
print ('第二个参数是:',params[1])
test(1,2,3,'哥哥','sister',67,89,exp = 8)
#函数(有返回值)与过程(无)python只有函数没有过程
def hello():
print ("Hello,my brother!")
temp = hello()
print (temp) #也会返回None
print (type(temp))
#python可以返回多个值,用列表来打包,或者是元组,不用列表的中括号
def back():
return (print ([1,2,34,56]))
back()
#函数变量的作用域问题
#局部变量(只是在某个函数里的)和全局变量
#记住:执行完一个函数之后,那个函数会被python自动清空
#若试图在函数里修改全局变量,那么python会自动设置一个和那个全局变量名字一样的局部变量
#这个局部变量和全局变量互不相干(old_price),但是还是有办法在函数里修改全局变量的
count = 10
def myfun():
count = 5
print (count)
myfun()
print (count)
二、内嵌函数和闭包
#内嵌函数和闭包
#global关键字
count = 10
def myfun():
global count
count = 5
print (count)
myfun()
print (count)
#内嵌函数:在函数内部再建立一个函数,python支持嵌套
def fun1():
print ("fun1()正在被调用...")
def fun2():
print ("fun2()正在被调用...")
fun2()
fun1()
def outer():
def inner(): #可以理解为内部函数
print("inner")
print("outer")
outer()
#输出结果:outer
def outer():
def inner():
print("inner")
print("outer")
inner()
outer()
#输出结果:outer、inner
#闭包
def FunX(x):
def FunY(y):
return (print (x * y))
FunY(5)
return x
print (FunX(8))
#return (print (FunY))
#i = FunX(8)
#print(i(5))
三、分支和循环
用实际题目来体会:按照100分制,实现score>90:A, 80<score<90:B, 60<score<80:C, score<60:D
time = 0
while 1:
score = int(input('请输入一个分数:')) #循环体
time +=1
if time >= 2:
print ('\n太多了,我累了,让我歇一会吧\n')
break
else:
if 100 >= score >= 90:
print ('A')
elif 90 > score >= 80:
print ('B')
elif 80 > score >= 60:
print ('C')
elif 60 > score >=0:
print ('D')
else:
print ('输入错误!')
#条件表达式(三元操作符)
x,y = 4,5
if x < y:
small = x
else:
small = y
print (small)
#例子可以改进为:
x,y = 4,5
small = x if x < y else y
print (small)
#断言(assert)比如:assert 3 > 4 运行之后会显示AssertionError
#一般来说我们可以用他在程序中置入检查点,当需要确保程序中的某个条件一定为真才能让程序正常工作的话,assert关键字就非常有用了
#for循环
favorite = '哥哥'
for i in favorite:
print (i,end=' ')
member = ['哥哥','爸爸','妈妈','弟弟','姐姐妹妹']
for each in member:
print (each,len(each))
#range 不包括5
i = range (5)
print (i)
j = list(range(5))
print (j)
for k in range(5):
print (k)
for h in range(2,6): #不包括6
print (h)
for g in range(1,10,2): #2表示每一次递增的是2
print (g)
#break和continue
for i in range(10):
if i%2 != 0:
print (i)
break
i += 2
print (i)
for i in range(10):
if i%2 != 0:
print (i)
continue #不会循环i += 2,会跳到for,再次判断
i += 2
print (i)
四、Python的数据类型转换
#整型,浮点,e记法,布尔类型
#e记法
a = 0.0000000000000023
print (a)
print (2+3)
print (1.3e26)
#类型转换
#字符型--整型
a = '520' #引号表示其为字符串
b = int(a)
print (b)
#浮点型--整型
a = 5.99
b = int(a)
print (b) #python直接砍尾巴,不会四舍五入
#整型--浮点型
a = 520
b = float(a)
print (b)
c = str(1234)
print (c)
a = 2
if a == 2:print (a);print('print me');print (1)