python自动化--语言基础三字典、函数、全局/局部变量
字典
dict1 = {'name':'han','age':,'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']= #字典的修改相当于重新赋值!!! dict1['address']='beijing' #字典的增加是:dict[key] = value 这样的形式 del dict1['name'] #删除字典中的一个元素
dict1.clear() #字典的清空,返回一个空字典
# del dict1 #删除字典,字典就完全删除了
字典的要点注意:
1、键是不允许相同的,如果相同,后面的会覆盖前面的
2、键是不可变的,所以只能用数字、字符串、元组来担当
dict2 = {(,):,"元组":(,)} #字典里的元素只能用不可变的数据类型!!!
print(dict2)
print(dict2['元组'])
print(dict2[(,)]) 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([,,,])
print("函数内取值:",mylist)
return
mylist = [,,]
charge_me(mylist)
print("函数外取值:",mylist) #函数外和函数内打印是相同的!!!
#函数的赋值引用
def print_info(name,age=):
print("name",name)
print("age",age)
return
# print_info(name="xiao",age=)
print_info(age=,name="xiao") #python中颠倒是可以的!!!
print_info(name='haha')
#函数的不定长参数
def p_info(arg1,*vartuple):
print("输出:",arg1)
for var in vartuple:
print(var)
return
p_info()
p_info(,,,,)
#匿名函数lambda,了解即可
# 、lambda只是一个表达式,而不是一个代码块,函数体比def简单很多。仅仅能在lambda表达式中封装有限的逻辑
# 、lambda[arg1[,arg2,...argn]]:expression
sum1 = lambda arg1,arg2:arg1+arg2
print("相加后的值为:",sum1(,))
# return语句
def sum2(arg1,arg2):
total = arg1+arg2
print("函数内:",total)
return total #把total去掉之后返回none
abc = sum2(,)
print("函数外:",abc)
#全局变量和局部变量
#全局变量比较容易出问题,能不用就不用。
total =
def sum3(a,b):
total = a+b
print("函数内(局部变量)的值为:",total)
return total
# total = sum3(,)
sum3(,)
print("函数外(全局变量)的值为:",total)
count =
def do_st():
global count #全局变量:global
for i in (,,): #循环三次
count +=
# print(count)
do_st()
print(count)
# 思路:当count=1时进入循环+1并赋值给count
# 在for循环三次后为3+=
# 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
python自动化--语言基础三字典、函数、全局/局部变量的更多相关文章
- Python自动化--语言基础3--字典、函数、全局/局部变量
字典 dict1 = {'name':'han','age':18,'class':'first'} print(dict1.keys()) #打印所有的key值 print(dict1.values ...
- Python自动化--语言基础5--面向对象、迭代器、range和切片的区分
面向对象 一.面向对象代码示例: 1 class Test(): #类的定义 2 car = "buick" #类变量,定义在类里方法外,可被对象直接调用,具有全局效果 3 def ...
- python自动化--语言基础五面向对象、迭代器、range和切片的区分
面向对象 一.面向对象简单介绍: class Test(): #类的定义 car = "buick" #类变量,定义在类里方法外,可被对象直接调用,具有全局效果 def __ini ...
- Python自动化--语言基础8--接口请求及封装
基于http协议,最常用的是GET和POST两种方法. 接口文档需要包含哪些信息: 接口名称接口功能接口地址支持格式 json/xml请求方式请求示例请求参数(是否必填.数据类型.传递参数格式)返回参 ...
- Python自动化--语言基础4--模块、文件读写、异常
模块1.什么是模块?可以理解为一个py文件其实就是一个模块.比如xiami.py就是一个模块,想引入使用就在代码里写import xiami即可2.模块首先从当前目录查询,如果没有再按path顺序逐一 ...
- python自动化--语言基础1--数据类型及类型转换
Python中核心的数据类型有哪些?变量(数字.字符串.元组.列表.字典) 什么是数据的不可变性?哪些数据类型具有不可变性数据的不可变是指数据不可更改,比如: a = ("abc" ...
- python自动化--语言基础四模块、文件读写、异常
模块1.什么是模块?可以理解为一个py文件其实就是一个模块.比如xiami.py就是一个模块,想引入使用就在代码里写import xiami即可2.模块首先从当前目录查询,如果没有再按path顺序逐一 ...
- python自动化--语言基础一数据类型及类型转换
Python中核心的数据类型有哪些?变量(数字.字符串.元组.列表.字典) 什么是数据的不可变性?哪些数据类型具有不可变性数据的不可变是指数据不可更改,比如: a = () #定义元组 #a[]= # ...
- Python自动化--语言基础6--模块操作之re、MySQL、Excel
1.Python自有模块正则 import re # re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None print(re.match("aaa ...
随机推荐
- ESG操作指南
ESG使用指南:1.ESG操作文档网站:ESG有个网站,是专门的操作文档网站,因为ESG三个环境,流程各不一样.地址:http://10.20.12.90:20567/esg-help-doc/2.E ...
- 在线文档分享工具 ShowDoc
原文:https://www.oschina.net/p/showdoc https://www.showdoc.cc/
- 工作总结 for 另类写法 循环加时间 集合合并 也是用的 static class Enumerable (IEnumerable<T>的扩展方法) (IEnumerable<T> 的 工具类) (所有集合 数组都实现IEnumerable<T>)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- JavaScript图片裁剪
1.jquery 图片裁剪库选择 Jcrop:http://deepliquid.com/content/Jcrop.html imgareaselect:http://odyniec.net/pro ...
- build.gradle解析
1 providedCompile.testImplementation.implementation.api.runtime.testCompile.classpath.natives 这些都是和p ...
- hdu 5074 Hatsune Miku DP题目
题目传送门http://acm.hdu.edu.cn/showproblem.php?pid=5074 $dp[i][j] =$ 表示数列前$i$个数以$j$结尾的最大分数 $dp[i][j] = - ...
- 【BZOJ 3211&3038】 花神游历各国 & 上帝造题的七分钟2
[题目链接] [BZOJ 3211] 点击打开链接 [BZOJ 3038] 点击打开链接 [算法] 线段树 开根操作直接开到叶子节点,注意当区间中所有数都是0或1时,不需要开根 [代码] #inclu ...
- 【JSOI 2011】 分特产
[题目链接] 点击打开链接 [算法] 考虑求每个人可以不分的方案 那么,对于每件物品,我们把它分成n份,每一份对应分给每一个人,有C(a[i]+n-1,m-1)种方案,而总方案数就是每种 物品方案数的 ...
- JavaScript 解析读取XML文档 实例代码(转)
JavaScript解析读取XML文件,主要就是加载并解析XML文件,然后就可以测试解析的XML文件的内容,打印输出来. 在线演示:http://demo.jb51.net/js/2012/readx ...
- 2-4 Vue中的属性绑定和双向数据绑定
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...