昨晚在B站看了一会python视频,发现学过之后看视频有点好理解,
Python 字典(Dictionary)
字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,
dict1={'Name':"tt",'Number':123}
print dict1 #输出这个字典
print dict1.values() #输出这个字典的值
print dict1.items() #输出这个字典所有值和键
print dict1.keys() #输出这个字典的键
访问字典里的值
#访问字典里的值
print "dict1的名字",dict1['Name']
print "dict1的数字",dict1['Number']
修改字典
向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对如下实例:
#修改字典
dict1['Name']='my_tt'
print dict1
dict1['Number']=321
print dict1
删除字典元素
能删单一的元素也能清空字典,清空只需一项操作。
显示删除一个字典用del命令,如下实例:
#删除字典的元素
del dict1['Name']
print dict1
dict1={'Name':"tt",'Number':123}
del dict1['Number']
print dict1
dict1.clear() #删除这词典所有数目
del dict1 #删除这个词典
字典键的特性
字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的,但键不行。
两个重要的点需要记住:
1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住,如下实例:
dict2={"MyName":'tt','MyName':'tt1'}
print 'MyName的值是',dict2['MyName']
cmp(),len(),str(),type(),copy()函数使用差不多,具体请看图
fromkeys() 函数用于创建一个新字典,以序列seq中元素做字典的键,value为字典所有键对应的初始值。
seq = ('name', 'age', 'sex') #以seq为键,key=seq中的数
dict6=dict.fromkeys(seq) #调用dist中的fromkeys()
print dict6
dict6=dict.fromkeys(seq,8) #vlaue设为8,
print dict6
get() 函数返回指定键的值,如果值不在字典中返回默认值
#get()函数
dict7={'name':'Dear','year':18}
print 'name value:',dict7.get('name')
print 'year value:',dict7.get('year')
has_key() 函数用于判断键是否存在于字典中,如果键在字典dict里返回true,否则返回false。
#has_key()函数
print "is/'t the key:",dict7.has_key('name')
print "is/'t the key:",dict7.has_key('Name')
setdefault() 函数和get() 方法类似, 如果键不存在于字典中,将会添加键并将值设为默认值。
# setdefault() 函数 # setdefault() 函数和get() 方法类似,。
dict8 = {'runoob': '菜鸟教程', 'google': 'Google 搜索'}
print "Value :",dict8.setdefault('runoob',"None")
print "Value :",dict8.setdefault('Taobao', '淘宝')
print dict8.items() #如果键不存在于字典中,将会添加键并将值设为默认值
pop() 方法删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
#pop() 方法
dict8 = {'runoob': '菜鸟教程', 'google': 'Google 搜索'}
dict8.pop('runoob')
print dict8
Python 日期和时间
Python 程序能用很多方式处理日期和时间,转换日期格式是一个常见的功能。
Python 提供了一个 time 和 calendar 模块可以用于格式化日期和时间。
时间间隔是以秒为单位的浮点小数。
每个时间戳都以自从1970年1月1日午夜(历元)经过了多长时间来表示。
Python 的 time 模块下有很多函数可以转换常见日期格式。如函数time.time()用于获取当前时间戳,
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import time #引入时间模块
import calendar #引入月份模块
whatistimenow=time.time()
print "time is",whatistimenow
print "localtime",time.localtime()
print "localtime",time.asctime() #asctime() 函数接受时间元组并返回一个可读的形式
格式化日期
我们可以使用 time 模块的 strftime 方法来格式化日期,
#time 格式化用到strftime这个函数
print time.strftime("%Y-%m-%d %H:%M:%S")
print time.strftime("%Y-%m-%d %H:%M:%S %Y")
print time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())
获取某月日历
Calendar模块有很广泛的方法用来处理年历和月历,例如打印某月的月历:
print "whatismonth" #输出2016一月的日历
print calendar.month(2016,1)
#判定是否为闰年
print "今年是不是闰年",calendar.isleap(2018)
calendar.isleap(year) |
calendar.setfirstweekday函数用于设置每周的起始日期码。0(星期一)到6(星期日)。
#返回每周的起始日期设置
print "当前每周起始日期的设置",calendar.firstweekday()
Python 函数
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。
定义一个函数
你可以定义一个由自己想要功能的函数,以下是简单的规则:
- 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
- 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
- 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
- 函数内容以冒号起始,并且缩进。
- return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
#定义一个函数
def printme( str ):
"打印传入的字符串到标准显示设备上"
print str
return
#调用函数
printme('hello world')
printme('如果我是DJ,你会爱我吗')
函数调用
定义一个函数只给了函数一个名称,指定了函数里包含的参数,和代码块结构。
这个函数的基本结构完成以后,你可以通过另一个函数调用执行,也可以直接从Python提示符执行。
如下实例调用了printme()函数:
#可写函数说明
def printinfo(name,age):
print "Name",name
print "age",age
return
#调用printinfo函数
printinfo('tt',50)
# 可写函数说明
def sum(s1,s2):
print s1+s2
return
# 调用sum函数
sum(10,20)
全局变量和局部变量
定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域。
局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问。调用函数时,所有在函数内声明的变量名称都将被加入到作用域中。
#全局变量和局部变量
total1=0
def SUM(N1,N2):
total1=N1+N2
print "total局部变量",total1
return
#调用函数
SUM(1,2)
print "total全局变量",total1
calendar.setfirstweekday(weekday) |