python怎么调试局部变量,Python自动化--语言基础3--字典、函数、全局/局部变量

本文详细介绍了Python字典的各种操作,包括创建、查看键值、修改、删除等,并探讨了函数的定义、分类、使用好处及参数传递。还展示了全局变量和局部变量的使用,以及函数返回值、匿名函数lambda的使用方法。此外,通过实例讲解了字典操作中的注意事项和常见问题。
摘要由CSDN通过智能技术生成

字典

1 dict1 = {'name':'han','age':18,'class':'first'}2 print(dict1.keys()) #打印所有的key值

3 print(dict1.values()) #打印所有的values值

4 print("dict1['name']:",dict1['name']) #打印name相对应的value值

5 print(dict1.get('name')) #通过字典的get方法得到name相对应的value值

6

7 dict1['age']=28 #字典的修改相当于重新赋值!!!

8

9 dict1['address']='beijing' #字典的增加是:dict[key] = value 这样的形式

10

11 del dict1['name'] #删除字典中的一个元素

12 dict1.clear() #字典的清空,返回一个空字典

13 #del dict1 #删除字典,字典就完全删除了

字典用法注意:

1、键是不允许相同的,如果相同,后面的会覆盖前面的

2、键是不可变的,所以只能用数字、字符串、元组来担当

1 dict2 = {(1,2):5,"元组":(4,5)} #字典里的元素只能用不可变的数据类型!!!

2 print(dict2)3 print(dict2['元组'])4 print(dict2[(1,2)])5

6 for i in dict2.keys(): #取出的数值更干净!!!谨记老师教导

7 print("字典中的key值为:",i)8 for j indict2.values():9 print("字典中的values值为:",j)

函数

1、函数的定义

函数是实现特定功能而封装起来的一组语句块,可以被用户调用

2、函数的分类

自定义函数;预定义函数(系统自带,lib自带)

3、使用函数的好处

降低编程难度、将大问题分解为若干小问题、可以多次调用

4、函数语法

定义

def 函数名字(参数):

函数体

return 语句      #不带表达式的return相当于返回none

调用

函数名字

以下是函数的几种:

1 #定义函数,函数名最好以_分割

2 defprint_str(str):3 print(str)4 return

5 #调用函数

6 print_str("调用一下")

1 #函数传递

2 #所有参数在python里都是按引用传递

3 #一句话:要变都变!!!

4 defcharge_me(mylist):5 mylist.append([1,2,3,4])6 print("函数内取值:",mylist)7 return

8 mylist = [10,20,30]9 charge_me(mylist)10 print("函数外取值:",mylist) #函数外和函数内打印是相同的!!!

1 #函数的赋值引用

2 def print_info(name,age=3):3 print("name",name)4 print("age",age)5 return

6 #print_info(name="xiao",age=18)

7 print_info(age=50,name="xiao") #python中颠倒是可以的!!!

8 print_info(name='haha')

1 #函数的不定长参数

2 def p_info(arg1,*vartuple):3 print("输出:",arg1)4 for var invartuple:5 print(var)6 return

7 p_info(10)8 p_info(70,60,50,40,30)

1 #匿名函数lambda,了解即可

2 #1、lambda只是一个表达式,而不是一个代码块,函数体比def简单很多。仅仅能在lambda表达式中封装有限的逻辑

3 #2、lambda[arg1[,arg2,...argn]]:expression

4 sum1 = lambda arg1,arg2:arg1+arg25 print("相加后的值为:",sum1(10,20))

1 #return语句

2 defsum2(arg1,arg2):3 total = arg1+arg24 print("函数内:",total)5 return total #把total去掉之后返回none

6 abc = sum2(10,40)7 print("函数外:",abc)

#全局变量和局部变量

#全局变量比较容易出问题,能不用就不用

1 total =02 defsum3(a,b):3 total = a+b4 print("函数内(局部变量)的值为:",total)5 returntotal6 #total = sum3(10,400)

7 sum3(20,70)8 print("函数外(全局变量)的值为:",total)

1 count = 1

2 defdo_st():3 global count #全局变量:global

4 for i in (3,4,5): #循环三次

5 count += 1

6 #print(count)

7 do_st()8 print(count)9 #思路:当count=1时进入循环+1并赋值给count

10 #在for循环三次后为3+1=4

11 #count是全局变量,最后打印出的结果为4

小练习

# 不能创建字典的语句是C (字典中的元素不能以列表作为key)

# A、dict1 = {}

# B、dict2 = { 3 : 5 }

# C、dict3 = {[1,2,3]: “uestc”}

# D、dict4 = {(1,2,3): “uestc”}

#以下代码输出什么?输出的是6

# 思路:原始key的值为1,

#     copy给另一个字典值为1,

#     重新赋值原来的字典值为5,

#     所以相加等于6

dict1={'1':1,'2':2}

theCopy=dict1.copy()

dict1['1']=5

sum=dict1['1']+theCopy['1']

print(sum)

# 合并生成新的字典

dict1 = {3:"c", 4:"d"}

dict2 = {1:"a", 2:"b"}

dict2.update(dict1)       #更新添加dict1进dict2

print(dict2)

# 标准日期输出

a = "20170303"

b = a[:4]

c = a[4:6]           #构思:通过列表分割的方式实现

d = a[6:]

print("格式化后输出的日期是:%s年%s月%s日"%(b,c,d))

无return函数,返回什么?

答:在函数中无return函数,返回none

如何在一个function里面设置一个全局的变量?

答:在函数体内定义一个全局的函数global

#随机生成验证码的两种方式:

1 importrandom2 list1=[]3 for i in range(65,91):4 list1.append(chr(i)) #通过for循环遍历asii追加到空列表中

5 for j in range(97,123):6 list1.append(chr(j))7 for k in range(48,58):8 list1.append(chr(k))9 ma = random.sample(list1,6)10 print(ma) #获取到的为列表

11 ma = ''.join(ma) #将列表转化为字符串

12 print(ma)

1 importrandom,string2 str1 = "0123456789"

3 str2 =string.ascii_letters4 str3 = str1+str25 ma1 = random.sample(str3,6)6 ma1 = ''.join(ma1)7 print(ma1) #通过引入string模块和random模块使用现有的方法

原文链接:http://www.cnblogs.com/ailiailan/p/8052749.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值