Python语言之Python自动化--语言基础3--字典、函数、全局/局部变量
小标 2018-08-09 来源 : 阅读 983 评论 0

摘要:本文主要向大家介绍了Python语言之Python自动化--语言基础3--字典、函数、全局/局部变量,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助。

本文主要向大家介绍了Python语言之Python自动化--语言基础3--字典、函数、全局/局部变量,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助。

字典

 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)])

6 for i in dict2.keys():           #取出的数值更干净!!!谨记老师教导
7     print("字典中的key值为:",i)
8 for j in dict2.values():
9     print("字典中的values值为:",j)

函数
1、函数的定义 函数是实现特定功能而封装起来的一组语句块,可以被用户调用2、函数的分类 自定义函数;预定义函数(系统自带,lib自带)3、使用函数的好处 降低编程难度、将大问题分解为若干小问题、可以多次调用4、函数语法 定义 def 函数名字(参数):   函数体 return 语句      #不带表达式的return相当于返回none 调用 函数名字
以下是函数的几种:

1 #定义函数,函数名最好以_分割
2 def print_str(str):
3     print(str)
4     return
5 # 调用函数
6 print_str("调用一下")


 1 # 函数传递
 2 #所有参数在python里都是按引用传递
 3 #一句话:要变都变!!!
 4 def charge_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 in vartuple:
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+arg2
5 print("相加后的值为:",sum1(10,20))


1 # return语句
2 def sum2(arg1,arg2):
3     total = arg1+arg2
4     print("函数内:",total)
5     return total                     #把total去掉之后返回none
6 abc = sum2(10,40)
7 print("函数外:",abc)

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

1 total = 0
2 def sum3(a,b):
3     total = a+b
4     print("函数内(局部变量)的值为:",total)
5     return total
6 # total = sum3(10,400)
7 sum3(20,70)
8 print("函数外(全局变量)的值为:",total)


 1 count = 1
 2 def do_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,#     所以相加等于6dict1={'1':1,'2':2}theCopy=dict1.copy()dict1['1']=5sum=dict1['1']+theCopy['1']print(sum)
 
# 合并生成新的字典dict1 = {3:"c", 4:"d"}dict2 = {1:"a", 2:"b"}dict2.update(dict1)       #更新添加dict1进dict2print(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 import random
 2 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 import random,string
2 str1 = "0123456789"
3 str2 = string.ascii_letters
4 str3 = str1+str2
5 ma1 = random.sample(str3,6)
6 ma1 = ''.join(ma1)
7 print(ma1)         #通过引入string模块和random模块使用现有的方法

本文由职坐标整理并发布,希望对同学们学习Python有所帮助,更多内容请关注职坐标编程语言Python频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程