Python字典,函数,全局变量代码解析
作者:Andrea-Pirlo 发布时间:2021-02-20 06:58:58
标签:Python,字典,函数,全局变量
字典
dict1 = {'name':'han','age':18,'class':'first'}
print(dict1.keys()) #打印所有的key值
print(dict1.values()) #打印所有的values值
print("dict1['name']:",dict1['name']) #打印name相对应的value值
print(dict1.get('name')) #通过字典的get方法得到name相对应的value值
dict1['age']=28 #字典的修改相当于重新赋值!!!
dict1['address']='beijing' #字典的增加是:dict[key] = value 这样的形式
del dict1['name'] #删除字典中的一个元素
dict1.clear() #字典的清空,返回一个空字典
# del dict1 #删除字典,字典就完全删除了
字典用法注意:
1、键是不允许相同的,如果相同,后面的会覆盖前面的
2、键是不可变的,所以只能用数字、字符串、元组来担当
dict2 = {(1,2):5,"元组":(4,5)} #字典里的元素只能用不可变的数据类型!!!
print(dict2)
print(dict2['元组'])
print(dict2[(1,2)])
for i in dict2.keys(): #取出的数值更干净!!!谨记老师教导
print("字典中的key值为:",i)
for j in dict2.values():
print("字典中的values值为:",j)
函数
1、函数的定义
函数是实现特定功能而封装起来的一组语句块,可以被用户调用
2、函数的分类
自定义函数;预定义函数(系统自带,lib自带)
3、使用函数的好处
降低编程难度、将大问题分解为若干小问题、可以多次调用
4、函数语法
定义
def函数名字(参数):
函数体
return语句#不带表达式的return相当于返回none
调用
函数名字
以下是函数的几种:
#定义函数,函数名最好以_分割
def print_str(str):
print(str)
return
# 调用函数
print_str("调用一下")
# 函数传递
#所有参数在python里都是按引用传递
#一句话:要变都变!!!
def charge_me(mylist):
mylist.append([1,2,3,4])
print("函数内取值:",mylist)
return
mylist = [10,20,30]
charge_me(mylist)
print("函数外取值:",mylist) #函数外和函数内打印是相同的!!!
#函数的赋值引用
def print_info(name,age=3):
print("name",name)
print("age",age)
return
# print_info(name="xiao",age=18)
print_info(age=50,name="xiao") #python中颠倒是可以的!!!
print_info(name='haha')
#函数的不定长参数
def p_info(arg1,*vartuple):
print("输出:",arg1)
for var in vartuple:
print(var)
return
p_info(10)
p_info(70,60,50,40,30)
匿名函数lambda,了解即可
# 1、lambda只是一个表达式,而不是一个代码块,函数体比def简单很多。仅仅能在lambda表达式中封装有限的逻辑
# 2、lambda[arg1[,arg2,...argn]]:expression
sum1 = lambda arg1,arg2:arg1+arg2
print("相加后的值为:",sum1(10,20))
# return语句
def sum2(arg1,arg2):
total = arg1+arg2
print("函数内:",total)
return total #把total去掉之后返回none
abc = sum2(10,40)
print("函数外:",abc)
#全局变量和局部变量
#全局变量比较容易出问题,能不用就不用
total = 0
def sum3(a,b):
total = a+b
print("函数内(局部变量)的值为:",total)
return total
# total = sum3(10,400)
sum3(20,70)
print("函数外(全局变量)的值为:",total)
count = 1
def do_st():
global count #全局变量:global
for i in (3,4,5): #循环三次
count += 1
# print(count)
do_st()
print(count)
# 思路:当count=1时进入循环+1并赋值给count
# 在for循环三次后为3+1=4
# 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
#随机生成验证码的两种方式:
import random
list1=[]
for i in range(65,91):
list1.append(chr(i)) #通过for循环遍历asii追加到空列表中
for j in range(97,123):
list1.append(chr(j))
for k in range(48,58):
list1.append(chr(k))
ma = random.sample(list1,6)
print(ma) #获取到的为列表
ma = ''.join(ma) #将列表转化为字符串
print(ma)
import random,string
str1 = "0123456789"
str2 = string.ascii_letters
str3 = str1+str2
ma1 = random.sample(str3,6)
ma1 = ''.join(ma1)
print(ma1) #通过引入string模块和random模块使用现有的方法
来源:http://www.cnblogs.com/ailiailan/p/8052749.html


猜你喜欢
- 索引下推(index condition pushdown )简称ICP,在Mysql5.6的版本上推出,用于优化查询。在不使用ICP的情况
- 一、选取网址进行爬虫本次我们选取pixabay图片网站url=https://pixabay.com/二、选择图片右键选择查看元素来寻找图片
- 本人非计算机,亦非心理学,或者交互设计,更非设计专业出身,因此什么都是半桶水。即使如此,依然靠着兴趣寻找乐趣。对于设计,爱之,但没有受过系统
- Function content_Code(Str) dim ary_String,i,n,n_pos&nbs
- 写SQL语句的时候很多时候会用到filter筛选掉一些记录,SQL对筛选条件简称:SARG(search argument/SARG) wh
- 将无权点文件转化成邻接矩阵目前点文件是两列Excel代码,在进行复杂网络运算时需要转化成邻接矩阵。我在网上找了一个代码,稍微修改了下,亲测可
- 一、前言其实,在开发过程中,虽然我们没有直接使用到描述符,但是它在底层却无时不刻地被使用到,例如以下这些:function、bound me
- 尽管甲骨文收购Sun交易尚在等待最终结果,业界对开源数据库MySQL的未来命运也十分担忧,但Sun的开发者依然在继续努力研发该开源数据库。他
- 您可能听说过,带有 yield 的函数在 Python 中被称之为 generator(生成器),何谓 generator ?我们先抛开 g
- HTML文件其实就是由一组尖括号构成的标签组织起来的,每一对尖括号形式一个标签,标签之间存在上下关系,形成标签树;XPath 使用路径表达式
- 在前面已经学习了gin框架如何处理请求,解析请求,返回数据。在实际的项目当中,项目往往是以模块化来进行划分和开发的,所谓的模块化就是按照功能
- Python中的random模块用于生成随机数。下面介绍一下random模块中最常用的几个函数。random.randomrandom.ra
- 本文实例为大家分享了python openCV实现摄像头获取人脸图片的具体代码,供大家参考,具体内容如下在机器学习中,训练模型需要大量图片,
- 昨天公司的网络更换,然后在使用git操作代码的时候,遇见了标题所述问题。仅以此文,记录该问题的解决过程。首先第一步: 得到本机的I
- MySQL是中小型网站普遍使用的数据库之一,然而,很多人并不清楚MySQL到底能支持多大的数据量,再加上某些国内CMS厂商把数据承载量的责任
- 软件版本:python 3.7.2selenium 3.141.0pycharm 2018.3.5具体实现流程如下,废话不多说,直接上代码:
- 。(新手可能认为setTimeout与setInterval是javascript函数,这是错误的。新手容易将javascript对象函数与
- 本文实例讲述了Python中迭代的用法,是一个非常实用的技巧。分享给大家供大家参考借鉴之用。具体分析如下:如果给定一个list或tuple,
- 范围选区概述范围选区是一种常见的对象选择方式,在一个子图中,可以在某一个轴方向上用鼠标选择起始范围的数据,这个特性可用来实现数据缩放(dat
- 这是一个第三方库,可以处理xlsx格式的Excel文件。pip install openpyxl安装。如果使用Aanconda,应该自带了。