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

Python学习笔记5-字符串、bool、数值操作和数组字典排序

2016-12-01 00:00 701 查看
1、字符串

# 字符串数字之间转换
# x = int("6")
# print type(x) #<type 'str'>
# y = str(6)
# print type(y) #<type 'int'>
注:在python中,字符串和数值型是可以直接通过调用函数转换。

# 字符串长度方法
# foo = 'abc'
# print len(foo)
# print range(len(foo)) #以List集合的方式来显示内容

# range() 一组数字
# print range(10) #从0开始至10,输出一个集合
# print range(1,10,4) #(start,ent,[step]) [step]:每隔多少位输出一次

# foo = 'abc'
# for i in range(len(foo)):
#     # %d,用来输出十进制整数
#     print foo[i], '(%f)' % (i)

# enumerate()
aDict = {'host': 'earth'}
aDict['port'] = 80
# for i, key in enumerate(aDict):
#     print i, key, aDict[key]

# type()获得对象类型
# print type(aDict)
# 使用isinstance来判断对象的类型与类型是否一样
print isinstance(6, int) #True
print isinstance(aDict, dict)
print isinstance(aDict, list)


# in 操作
# print 'bc' in 'abcd' #True
# print 'n' in 'abcd' #False
# print 'nm' not in 'abcd' #True

# string 模块
# 所有和字符串操作相关的方法都在string这个模块中,字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
# import string
# print string.capitalize("hello")
# print string.lowercase
# print "HELLO".lower()
# print string.split("asdadada asdada")
# print string.rstrip("              adsd         ")  # or "              adsd         ".rstrip()
# print string.lstrip("              adsd         ") # or "              adsd         ".lstrip()
# print string.strip("              ad  sd         ") # or "              ad  sd         ".strip()


2、数值

# 对象比较支持多个比较操作
# print 3<4<7  # 相当于 (3<4) and (4<7)
# print 4>3==3  # 相当于 (4>3) and (3==3)
# print 4<3<8!=2<7    # 从左到右

# is    is not
# foo1 = foo2 = 4.3
# print foo1 == foo2 #True
# print foo1 is foo2 #True

# foo1 = 4.3 ; foo2 = foo1
# print foo1 == foo2 #True
# print foo1 is foo2 #True
# foo1 = 5.4
# print foo1 == foo2 #False
# print foo1 is foo2 #False

# foo1 = 4.3 ; foo2 = 1.3 + 3.0
# print foo1 == foo2 #True
# print foo1 is foo2 #False

# cmp(a,b) 比较大小 -1, 0 1
# print cmp(8, 7) #1
# print cmp("abs", "azs") #-1

# round() 四舍五入
# print round(100.10)
# print round(100.49)
# print round(100.50)

# random 取随机数
# from random import random
# print random() #返回是一个小于1的值

# from random import randint
# print  randint(1,1000)

# 还可以对方法进行重命名,例:
# from random import randint as raphael
# print  raphael(1,1000)


地板除

还有一种除法是//,称为地板除,两个整数的除法仍然是整数;

print 1//2  #0  #如果除数和被除数都是整数,那么结果一定是整数,即使除不尽,返回的也整数
print 1.0//2  #0.0 #如果除数和被除数中有一个不是整数,那结果将不会是整数,返回是表达式中非整数那一项的数据类型
print 1//2.0  #0.0
print 1.0//2.0 #0.0
print 11//5  #2


divmod(a,b)函数

中文说明:
divmod(a,b)方法返回的是a//b(除法取整)以及a对b的余数
返回结果类型为tuple
参数:
a,b可以为数字(包括复数)

print divmod(15,6) #(2, 3) 2:整除的结果  3:两者相除得到余数


3、bool判断

print bool([None,0])
print bool(0) #False 如果是0就认为是False
print bool(1) #True 如果大于或小于0则是True
print bool('') #False 如果是0长度的字符串则被认为是False
print bool('   ') #True 只要长度不是0,则为True
print bool('string') #True
print bool([]) #False  数组的长度为0则为False
print bool([1,2]) #True
print bool({}) #False 字典的长度为0则为False
print bool({'cj':888}) #True


4、数组字典

# del
# aList = [1,2,3]
# del aList[1]
# print aList

# lambda 排序
# lambda函数也叫匿名函数,即,函数没有具体的名称。
# sort 语法:L.sort(cmp=None, key=None, reverse=False)
# data = []
# data.append({"province":"beijing","order_price":100,"user_count":100,"total_price":10000})
# data.append({"province":"shanghai","order_price":200,"user_count":50,"total_price":10000})
# data.append({"province":"shenzhen","order_price":300,"user_count":100,"total_price":30000})
# # sort排序
# data.sort(key=lambda y:(y["total_price"],y["order_price"]), reverse=True)
# for d in data:
#     print d


lambda 相关文档:

http://www.cnblogs.com/BeginMan/p/3178103.html

http://www.cnblogs.com/coderzh/archive/2010/04/30/python-cookbook-lambda.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: