python3基础(五)-函数

1、字典函数

names={"name":"zhantao","age":33,"sex":"男"}
names.keys()    #返回key值列表['name', 'age', 'sex']
names.values()    #返回value值列表['zhantao', 33, '男']
names.items()    #返回一个一个元组('name', 'zhantao'),形成的列表[('name', 'zhantao'),('age',33),('sex','男')]

2、扩展print的用法

print("%s........%s"%(a,b))仔细看下,%(a,b)百分号后面的括号是代表一个元组,所以可以使用元组来代替,如下item就是一个元组,所以可以代表两个%s的值
for item in stus.items():
print("%s......%s"%item)
#print("="*30)字符串也有乘法,代表输出30个等号
 
for key in stus:查看某一个key是否包含在字典当中,在python2当中有一个函数可以查询has_key(),不过在python3当中给干掉了,查询字典当中值也是一样。
for item in stus:
if():
    break    #如果for循环是被终止的,则else是不会被执行的。如果for循环正常结束了,则会执行else里面的内容。
else:
    print()

3、查看内存变化

id(a)    #是查看a变量的内存地址,可以发现不同变量是否指向同一内存地址
 
举例内存地址变化:
a=[1,2]
b=a    #那么变量a,b都指向同一块内存区域
b+=[3,4]    #会导致b指向的内存地址里面的值发生变化,变化成[1,2,3,4],这个表达示的意思是给变量a加上[3,4],那么a的值也变了,这叫自加运算符。
而b=b+[3,4]则代表的意思和上面不一样,虽然值是一样的,但是内存地址发生变化。这个代表变量b加上[3,4]运行的结果(这个结果是一个新的值),然后再赋值给b。这里b就指向了一个新的内存地址,而a仍然是指向老的内存地址。所以此时a,b的值是不一样的。

4、变量比较

a=1
b=2
names={"name":"zhantao","age":33,"sex":"男"}
cmp(a,b)    #比较两个变量的值,返回0,1,-1,如果ab相同则返回0,如果a大于b则返回正数1,如果a小于b则返回负数-1,这个函数只有在python2当中才有。python3当中没有。
chr(65) chr(97)    #数字转换成字符,65为a,97为A
max(list) min(list)    #查询数组当中最大值和最小值
del(names)和del names    #是一样的,删除变量
len(list)    #数组长度

5、自定义函数

定义:
def 函数名(参数1,参数2.......):
代码内容
return 返回值    #返回值可以有,也可以没有
例如:
def checkIsInt():
a=1
return isinstance(a, (int,float)) 判断变量a是否是整数或者浮点数,返回Ture或False,可以把需要判断的类型使用括号括起来,之间用逗号隔开

6、小知识

python是个解释性的语言,代码的执行顺序是从上至下的。如果需要执行某个代码,那么这个代码的函数必须要在前面提前申明。而函数里面调用的函数,则不一定必须在这个调用函数之前,但仍然必须在执行代码之前。因为程序执行的时候,碰到函数,只是申明函数,而不会执行函数里面的代码,所以在函数里面调用的其它函数不一定比调用者先申明,但必须要在执行代码之前。(变量也是一样的道理)
if isinstance(a,(int,float)):    #判断是否是属于整形或浮点形
if not isinstance(a,(int,float))    #将条件反转,使用not关键字

作者:沧水巫云
博客:http://blog.csdn.NET/amir_zt/
以上原创,转载请注明出处,谢谢。
https://blog.csdn.net/amir_zt/article/details/82942582

猜你喜欢

转载自blog.csdn.net/u011635351/article/details/82942582