Python实践第八天

昨晚在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)

isleap()函数用于判断是否闰年
#判定是否为闰年
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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值