Python字典,函数,全局变量代码解析


Posted in Python onDecember 18, 2017

字典

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模块使用现有的方法

总结

以上就是本文关于Python字典,函数,全局变量代码解析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
Python实时获取cmd的输出
Dec 13 Python
浅谈python可视化包Bokeh
Feb 07 Python
tensorflow实现简单的卷积神经网络
May 24 Python
使用python实现快速搭建简易的FTP服务器
Sep 12 Python
python环境路径配置以及命令行运行脚本
Apr 02 Python
对pyqt5中QTabWidget的相关操作详解
Jun 21 Python
Python搭建代理IP池实现存储IP的方法
Oct 27 Python
Django 自动生成api接口文档教程
Nov 19 Python
详解python常用命令行选项与环境变量
Feb 20 Python
Pycharm+Python工程,引用子模块的实现
Mar 09 Python
PYcharm 激活方法(推荐)
Mar 23 Python
Python制作动态字符画的源码
Aug 04 Python
Python语言生成水仙花数代码示例
Dec 18 #Python
Python实现的双色球生成功能示例
Dec 18 #Python
Python实现的摇骰子猜大小功能小游戏示例
Dec 18 #Python
简单实现python进度条脚本
Dec 18 #Python
Python编程使用*解包和itertools.product()求笛卡尔积的方法
Dec 18 #Python
通过Python 获取Android设备信息的轻量级框架
Dec 18 #Python
python中列表和元组的区别
Dec 18 #Python
You might like
php数组函数序列之array_search()- 按元素值返回键名
2011/11/04 PHP
header中Content-Disposition的作用与使用方法
2012/06/13 PHP
php微信公众号开发之微信企业付款给个人
2018/10/04 PHP
PHP CURL实现模拟登陆并上传文件操作示例
2020/01/02 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
2020/03/26 PHP
JQuery中判断一个元素下面是否有内容或者有某个标签的判断代码
2012/02/02 Javascript
js无刷新操作table的行和列
2014/03/27 Javascript
Node.js实现简单聊天服务器
2014/06/20 Javascript
js实现进度条的方法
2015/02/13 Javascript
JavaScript实现点击文字切换登录窗口的方法
2015/05/11 Javascript
jQuery绑定自定义事件的魔法升级版
2016/06/30 Javascript
jQuery.cookie.js实现记录最近浏览过的商品功能示例
2017/01/23 Javascript
vue实现一个炫酷的日历组件
2018/10/08 Javascript
微信小程序使用map组件实现路线规划功能示例
2019/01/22 Javascript
详解关于微信setData回调函数中的坑
2019/02/18 Javascript
详解微信小程序调用支付接口支付
2019/04/28 Javascript
详解JS实现系统登录页的登录和验证
2019/04/29 Javascript
解决vue+router路由跳转不起作用的一项原因
2020/07/19 Javascript
原生JavaScript实现购物车
2021/01/10 Javascript
在Mac OS系统上安装Python的Pillow库的教程
2015/11/20 Python
Python常用时间操作总结【取得当前时间、时间函数、应用等】
2017/05/11 Python
解决nohup重定向python输出到文件不成功的问题
2018/05/11 Python
在python中实现将一张图片剪切成四份的方法
2018/12/05 Python
Python字符串匹配之6种方法的使用详解
2019/04/08 Python
Django重置migrations文件的方法步骤
2019/05/01 Python
python 列表转为字典的两个小方法(小结)
2019/06/28 Python
python opencv 批量改变图片的尺寸大小的方法
2019/06/28 Python
Python 字符串类型列表转换成真正列表类型过程解析
2019/08/26 Python
Python数据分析模块pandas用法详解
2019/09/04 Python
pytorch中的inference使用实例
2020/02/20 Python
详解HTML5中垂直上下居中的解决方案
2017/12/20 HTML / CSS
英国珠宝网站Argento: PANDORA、Olivia Burton和Nomination等
2020/05/08 全球购物
linux下进程间通信的方式
2013/01/23 面试题
python如何利用traceback获取详细的异常信息
2021/06/05 Python
webpack的移动端适配方案小结
2021/07/25 Javascript
go使用Gin框架利用阿里云实现短信验证码功能
2021/08/04 Golang