您的位置:首页 > 编程语言 > Python开发

Python基础学习<四>

2017-09-02 20:03 393 查看
这里有一个关于字典和函数的一个脑图:



字典

又称为(# hash,映射,关联数组)

“字” —> 先找首字母,查到这个字的解释所在的页数;

字典的定义:

d = {}
d = {"key1":"value1"}
d = {"key1":"value1","key2":"value3"}
d = {
"172.25.254.1":
{
"user":"root",
"password":"westos",
"command":"hostname"
},
"172.25.254.2":
{
"user":"westos",
"password":"westos1",
"command":"hostname"
}
}       # 支持异构,嵌套
dict(zip(user,passwd))
"".fromkeys(["a","b"],"1000")


字典的特性

字典是可变数据类型;可使用len(d)内置函数,计算字典的长度;

字典是无序的,与序列(str,list,tuple)不同的是,不支持索引,切片,连接与重复。只能通过key值获取对应的value值;

字典支持异构,支持嵌套;

字典的增加

d.update()

d.setdefault(key[,value])

如果key存在,不更改;如果key不存在,添加key-value到字典中;

如果key值有,并不存在d字典中,默认value值为None;

字典的删除

d.pop(key) # 根据某个key值删除字典中的key-value值;

d.popitem() # 随机删除key-value值

d.clear() # 清空字典的所有内容,字典还存在

del(d[“key”]) # 删除指定的key值

del(d) # 删除字典d,d直接不存在

字典的修改

d[“key2”]=”value3”

字典信息的查看

d.get(“key”) # 如果key存在,返回value值;如果不存在,返回None;

d[“key”] # 如果key存在,返回value值;如果不存在,直接报错;

d.has_keys(“key”) # 如果key存在,返回True;如果不存在,返回False;

d.items()

d.keys()

d.values()

注意:如何遍历字典的所有key-value值:

for key,value in d.items():
print key, value


字典的复制

d.copy()

In [105]: d1 = d.copy()

In [106]: id(d)
Out[106]: 20314528

In [107]: id(d1)
Out[107]: 20338192

In [108]: d2 = d

In [109]: id(d2)
Out[109]: 20314528


函数(python的乐高积木一)

内置函数(BIF,built-in function)

min,max,sum,zip,abs,

int,float,str,list,tuple,bool,

In [56]: bool(1)
Out[56]: True

In [57]: bool("")
Out[57]: False


函数实质上是一个变量;函数名是一个指向函数对象的引用,完全可以把函数赋值给一个变量,相当于给这个函数起了个别名;

In [59]: a = abs    # a变量指向abs函数

In [60]: a(-1)      # 可以通过a实现abs的功能;
Out[60]: 1

In [61]: abs(-1)
Out[61]: 1


定义与调用函数

def 函数名([形式参数]):

函数体 # 函数要执行的程序

return 返回值 # 如果没有return返回,默认返回值为None;

函数名([实参])

注意:有返回值 的函数,必须print fun(),可以打印出返回值;

函数的返回值

在函数中,一旦遇到return关键字,函数就执行结束;

函数返回值只能返回一个,如果想间接返回多个值,返回值实际是一个元组;

def maxSum(num1,num2,num3):
print num2
return max(num1,num2,num3),sum([num1,num2,num3])
num1 += 2
print num1

print type(maxSum(1,4,2))
print maxSum(1,4,2)


函数的参数传值

必选参数:形参与实参的个数必须相同,否则直接报错;

默认参数:在定义函数时,给形参一个默认值;

-可变参数:传入的参数个数是可变的,可以是1-n个,也可以是0个;一般实参中用*args来表示可变参数;args接收的是一个元组(tuple);

关键字参数:允许传入0个或多个包含参数名的参数,传进来的参数自动封装为一个字典.

如果四种函数参数同时存在,参数定义的顺序必须是: 必选参数,默认参数,可变参数,关键字参数.

解包:

- 把一个序列元素依次传入带有可变参数的函数时,可通过fun(*l)来解包;

- 把一个字典元素依次传入带有关键字参数的函数时,可通过fun(**d)来解包;

变量的作用域

全局参数:在函数外定义的函数

局部参数:在函数内部定义的函数;

global:声明局部变量为全局变量;

global name
name = "westos"


练习

题目1:用户管理系统V2:

用户功能如下:

welcome to xxxx system

1.注册:若用户存在,直接报错”name 已经存在”,若用户不存在,将用户信息保存起来,显示”注册成功”;

2.登陆:若用户存在,判断密码是否正确,若用户不存在,报错”name 不存在”;

3.注销:若用户存在,删除用户信息;若不存在,报错报错”name 不存在;

4.退出:break

#!/usr/bin/env python
#coding:utf-8
'''
file:usermanger.py
date:9/2/17  11:14 AM
author:feitian
desc:
'''

d = {"name":"passwd","lala":"123"}
def register():
user = raw_input("User:")
if d.has_key(user):
print "%s the user
b04a
has alread exit"
else:
passwd = raw_input("Passwd:")
d[user] = passwd
print "%s option succeed !" %(user)
def  info():
print "user\tpasswd"
for user,passwd in d.items():
print "%s\t%s" %(user,passwd)
def log():
print "please input your's username and passwd"
username = raw_input("please input your's username")
passward = raw_input("please input  your's  passwd ")
for user,passwd in d.items():
if username == user and passward == passwd:
print "option  successed"
else :
print "please check your username and passwd"
def dele():
print "please input your will del username "
username = raw_input("please input your's username")
passward = raw_input("please input  your's  passwd ")
for user,passwd in d.items():
if username == user and passward == passwd:
user
else :
print "please check your username and passwd"
def leave ():
exit(0)
while True :
print """
welcome to user maneger system
(L):user log system
(A):add user
(V):display user's message
(Q):tui chu xi tong
(D):delete a user message
"""
op = raw_input("please input your option")
option = {"L":log,
"A":register,
"V":info,
"D":dele,
"Q":leave
}
if option.has_key(op):
f = option[op]
f()


题目2:用户管理系统V3:

d = {“name”:[]}

初始化有一个系统管理员:

用户分为两种:

用户登录:

登陆

退出

判断用户类型:

系统管理员功能:

1.添加用户

2.查看所有用户信息

3.退出:

普通用户功能:

1.查看个人信息

2.注销

3.退出

要求:

根据用户身份,进入不同的管理界面;

系统初始化一个系统管理员帐号;

只有系统管理员可以添加用户和查看用户所有信息;

普通用户只能查看个人信息,和注销帐号;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python