python xx001
format:
使用{}进行格式化输出
>>> '{} {} {}'.format('i', 'love', 'peace') # 不带编号,一一对应 'i love peace' >>> '{0} {1} {2}'.format('i', 'love', 'peace') # 带编号 'i love peace' >>> '{2}, {0} {1} {2}'.format('i', 'love', 'peace') # 带编号,重复使用 'peace, i love peace' >>> '{a} {b}'.format(a='i', b='love') #带关键字,一一对应 'i love' >>> '{{a}} {{b}}'.format({a}='c') # 不理解 SyntaxError: keyword can't be an expression
# {1:.2f} 位置编号后带有冒号,冒号表示格式化符号的开始 >>> '{0} {1:.2f} {2}'.format('Dataspace is', 2000.4464, 'GB') 'Dataspace is 2000.45 GB' >>>
# 定义文件名boy_file_name(变量) count = 1 boy_file_name = 'boy_'+str(count)+'.txt' # 将变量名通过format传入 boy_file = open(r'e:\{}'.format(boy_file_name), 'w')
字符串处理join和split:
>>> str1 = 'aaa' # 以str1作为分隔符分割join()中的序列、字符串或元组的元素 >>> str1.join('12345') '1aaa2aaa3aaa4aaa5' >>> str2 = 'a b c e c d a' # 默认以空格作为分隔符分割str2 >>> str2.split() ['a', 'b', 'c', 'e', 'c', 'd', 'a'] # 指定以str2中的字符串c作为分隔符分割str2 >>> str2.split('c') ['a b ', ' e ', ' d a'] >>>
# 字符串str3 >>> str3 = 'xiaoming:shandong' # 通过split分隔出姓名和省份。split(分隔符,num)num指定数值时,将字符串分隔成num+1部分,如:num=1时,字符串被分隔成2部分) >>> (name, province) = str3.split(':', 1) >>> name 'xiaoming' >>> province 'shandong'
元组:
>>> tuple1 (1, 2, 3, 4) >>> tuple2 = tuple1 >>> tuple2 (1, 2, 3, 4) >>> tuple3 = tuple1[:] >>> tuple3 (1, 2, 3, 4) # 元组创建后不可修改,可通过下列拼接的方式增减元组的元素 >>> tuple4 = tuple1[:2]+('中间',)+tuple1[2:] >>> tuple4 (1, 2, '中间', 3, 4) >>>
>>> tuple5 = tuple4[:3]+tuple4[4:]
>>> tuple5
(1, 2, '中间', 4)
>>>
# 通过逗号创建元组 >>> tuple6 = 2, 3, 4, 5 >>> tuple6 (2, 3, 4, 5) >>> 8*(8) 64 >>> 8*(8,) (8, 8, 8, 8, 8, 8, 8, 8)
列表:
列表复制
>>> list1 [1, 3, 2, 6, 9, 8] >>> list2 = list1[:] # 列表2是列表1的拷贝,列表1变动不影响列表2
>>> list2 [1, 3, 2, 6, 9, 8] >>> list3 = list1 # 列表1和列表3在区块的同一位置,列表1变动时列表3也会变动
>>> list3 [1, 3, 2, 6, 9, 8] >>> list1.sort() >>> list1 [1, 2, 3, 6, 8, 9] >>> list3 [1, 2, 3, 6, 8, 9] >>> list2 [1, 3, 2, 6, 9, 8] >>>
列表顺序reverse(颠倒),sort(排序)
>>> list1 [1, 3, 2, 6, 9, 8] # reverse颠倒排序,原来的排序反过来 >>> list1.reverse() >>> list1 [8, 9, 6, 2, 3, 1] # sort默认按从小到大排序 >>> list1.sort() >>> list1 [1, 2, 3, 6, 8, 9] # sort从大到小排序,reverse=True逆转,最终从大到小排序 >>> list1.sort(reverse=True) >>> list1 [9, 8, 6, 3, 2, 1]
列表del
>>> member ['尚', '孙', '王', '赵'] # 删除列表中指定位置的元素 >>> del member[2] >>> member ['尚', '孙', '赵'] # 完全删除列表 >>> del member >>> member Traceback (most recent call last): File "<pyshell#23>", line 1, in <module> member NameError: name 'member' is not defined
列表的remove,pop
>>> member ['尚', '孙', '王', '赵'] # remove移除列表中指定的元素 >>> member.remove('尚') >>> member ['孙', '王', '赵'] # pop移除列表中指定位置的元素,默认移除最后一位元素 >>> member.pop(-1) '赵' >>> member ['孙', '王'] >>> member.pop(0) '孙' >>> member ['王']
列表的append,extend,insert
>>> member = ['尚', '孙', '王'] >>> member ['尚', '孙', '王']
# append每次只能向列表增加一个元素 >>> member.append('赵') >>> member ['尚', '孙', '王', '赵']
# append可以向列表中增加列表,即列表嵌套列表
>>> member.append([1, 2, 3])
>>> member
['尚', '孙', '王', '赵', [1, 2, 3]]
>>> len(member)
5
>>> print(member[4][0])
1
# extend可以同时增加多个元素,但需要将要被添加的元素放在列表中进行添加
>>> member.extend(['周', '郑'])
>>> member
['尚', '孙', '王', '赵', [1, 2, 3], '周', '郑']
>>> member.insert(0, '程')
# insert(位置,要增加的元素) 向列表增加元素的同时设置要插入元素的位置
>>> member
['程', '尚', '孙', '王', '赵', [1, 2, 3], '周', '郑']
>>>
continue:
a = 'python' for i in a: # 循环条件为真时终止执行continue后的语句, # 循环条件为假时执行continue后的语句 if i == 'y' or i =='h': print(2) continue print(i) p 2 t 2 o n
三元操作符:
x, y = 4, 5 if x<y: small = x else: small = y print(small) small1 = x if x <y else y print(small1)
随机数游戏
import random choice = random.choice(range(1,100)) a = 1 while 1: cust=int(input("请输入你认为游戏的数值: ")) if cust == choice: print("猜对了,数值为:",choice) break elif a == 10: print("猜错%d次,游戏结束,数值为:%d" %(a, choice)) break elif cust>choice: print("猜大了,猜错了%d次" %a) a += 1 elif cust<choice: print("猜小了,猜错了%d次" %a) a += 1 # if>>1elif>>2elif 如果1elif为true则下面的2elif不会执行 # 例:本注释下的elif a == 10:永远不会被执行,放在本例if下可正常执行 elif a == 10: print("永远不会执行,游戏结束,数值为:",choice) break
a += 3即a = a +3
>>> a = 5 >>> a = a+3 >>> a 8 >>> b = 5 >>> b += 3 >>> b 8
BIF: Build_in Function
%s 字符串
%d 十进制(decimal)
%i 整数
%f 浮点十进制
复数(complex,包括实部和虚部,如:z=3+4j,数字3为实部,4为虚部,j为虚数单位)
a = 100 b = 13 c = a + b d = a/b print("a+b=c, c is %d" % c) print("a/b is %i %f" %(d,d)) # %.2f 表示保留2为小数,%i 表示只保留整数
a+b=c, c is 113
a/b is 7 7.692308
import random
print(random.choice(range(1,100))) # 从1—100随机抽取1个数值
print(round(3.1415, 3)) #保留3位小数
列表取值:
>> l = ['a', 'b', 'c'] >>> print(l[0]) a >>> print(l[1]) b >>> print(l[-1]) c >>> for x in l: print(x) a b c
in 和not in:
>>> name = 'joeshang' >>> print('j' in name) True >>> print('j' not in name) False
--不可变对象:
数字、字符串、元组(1,2,3)
--可变对象:
列表、字典、自定义类创建的对象
--序列包括:字符串、列表、元组
# 列表2是列表1的拷贝,列表1变东不影响列表2