Python基础学习----第三弹

向内看自己,永远看自己的进步!

好!开始!


五、函数

def定义函数,函数分为有无参数、有无返回值。函数先后顺序执行,先定义函数在调用函数。

函数的本质是一个地址,函数的参数可以为另一个函数,函数作为变量时不带括号。还可以利用返回值作为参数。带括号的函数的类型是函数的返回值类型。函数可以有多个返回值。return之后的语句不会被执行。

位置参数和名称参数。按照顺序输入参数,或指定名称输入参数。数字,字符串当作参数传递时,原来的数字,字符串不会改变。

全局变量和局部变量。调用全局变量时,需要改变全局变量的值或者在函数内声明全局变量利用global进行修饰,不加global修饰则全局变量直接调用即可。在函数嵌套时,内层函数需要调用外层函数声明的局部变量,先利用nonlocal进行修饰。否则相当于声明一个新的变量。

#判断120-150之前,每个数拆分为质数相加和

ulimit = 0#定义上界,利用globcl进行改变
llimit = 0#定义下界,利用globcl进行改变

def judge(num):#判断是否为质数
    if num <= 0 or num == 1:
        return False
    elif num == 2 or num == 3:
        return True
    else:
        flag = True
        for i in range(2,num):
            if num%i == 0:
                flag = False
                break
        return flag

def classify(num):#得到和为num的两个数
    for i in range(1,num):
        if judge(i) and judge(num - i):
            print(str(num)+"的质数相加为"+str(i)+"  "+str(num - i))

def major():#得到范围内的数
    global ulimit,llimit
    ulimit = 151
    llimit = 120
    for i in range(llimit,ulimit):
        classify(i)

major()

函数参数为(*num),表示输入的是一个序列,装多个。

def newadd(*num): #*num代表一个序列,装多个
    lastnum=0
    for  data in num:#data 遍历每一个插入的数据
        lastnum+=data
    print(lastnum)
newadd(1)
newadd(1,2)
newadd(1,2,3)

六、常用的数据类型

元组、集合、列表和字典

集合set,用大括号进行表示{}。集合中的元素不可以重复,集合不支持索引。

set1 = {1,2,3,4,5}#数据不可以重合
set2 = {2,2,5,8,9}
print(set1)
print(set2)
print(type(set1))
for  data in set1:
    print("------",data)#集合不能索引
print(set1-set2)#差集,set1有set2没有
print(set2-set1)#差集,set2有set1没有
print(set1 | set2)#并集
print(set1 & set2)#交集
print(set1 ^ set2)#set1,set2并集-交集

元组tuple,用小括号进行表示()。元组中的元素不可以改变,元组支持索引。

mytuple = (2,3,4,5,6)
mytuple1 = (1,)#python特例(1)是int、()(1,)是元组
print(mytuple)
print(type(mytuple))
print(len(mytuple))#得到元组的长度
for i in mytuple: #遍历元组中的元素
    print(i,end=" ")
print("")#换行
for i in range(len(mytuple)):#通过下标遍历元组中的元素
    print(mytuple[i],end=" ")
print("")

#mytuple[0]=10 #tuple不可以修改内部的值
print(mytuple[:])#输出全部元素
print(mytuple[0:4])#索引截取,默认的情况不会包含最后一个
print(mytuple[:4])#不输入开头,默认的情况不会包含最后一个
print(mytuple[2:-1])#从后往前索引为-1,-2,-3,...
print(mytuple[2:])#不输入结尾
print(mytuple*2)#复制两次
print(mytuple+mytuple[2:4])#元组相叠加,

列表list,用中括号进行表示[]。列表与元组不同的就是列表中的元素可以改变,列表支持索引。

mylist =[1,2,3,4,5,6,7]
print(mylist)
print(len(mylist))#列表,容纳多个数据
for  data  in mylist:  #循环遍历列表
    print("------",data)
for  i  in range(len(mylist)): #按照下标遍历
    print("------", mylist[i])
mylist[1]=10 #list可以修改

print(mylist[1:7])#索引截取
print(mylist[4:-1])
print(mylist[:]) #全部
print(mylist[:4]) #默认不输入开头,不包含最后一个索引
print(mylist[4:]) #默认不输入结尾,包含最后一个索引
print(mylist*2)#复制两次
print(mylist+mylist[4:6])#列表相叠加

字典dict,用大括号进行表示{}。字典是有自己的特点,有<key,value>。

mydict={"abcdefg":10, "123456":2,"xyzhjk":3,"123456":10}
print(type(mydict))#dict是set的强化版 左边是key,不允许重复,右边value重复
print(mydict)
print(mydict["abcdefg"]) #根据key取出value
print(mydict.values()) #值
for  key  in  mydict: #遍历字典
    print(key,mydict[key])

在努力一点点!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值