oldboy第二天学习
一、上课体验及感受
第二天上课了,从循环到队列,感觉都可以接受,但是当循环遇到队列之后感觉脑袋就有点不够用了。不知道是因为萌新的问题。每个人都这样,还是个人能力不行。总而言之加油努力吧!!
二、循环,在程序员写程序的时候最忌讳的就是写重复代码。
1.for循环实例
for i in range(10): for j in range(10): if j < 6: continue print(i,j)
2.while循环
count = 1 while True: print(count) count +=1 #如果需要限制次数的话 #while count < 5: 限制count 小于5
三、整型类型为5个:字符串、队列、元组、字典、数字
#然而数字分很多种数据类型。如下图
int(整型)
在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
long(长整型)
跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。
float(浮点型)
跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。
float(浮点型)
先扫盲 http://www.cnblogs.com/alex3714/articles/5895848.html
浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。
complex(复数)
复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。
浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。
complex(复数)
复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。
注:Python中存在小数字池:-5 ~ 257
四、字符串的常用操作
name = 'my name is houziyu' print(name.capitalize()) #字符串首字母大写 print(name.count('i')) #统计字符串中有几相同字母 print(name.center(50,'*')) #一共打印50个字符,不够的用*补上两边填写 print(name.ljust(50,'*')) #一共打印50个字符,不够的用*补上右边 print(name.rjust(50,'*')) #一共打印50个字符,不够的用*补上左边 #print(name.encode()) #把字符串转换成二进制 print(name.endswith('yu')) #判断字符串以什么结尾 name1 = 'my \tname is houziyu' print(name1.expandtabs(tabsize=30)) #把tab 转成多少个空格 print(name.find('name')) #查找一个字符在那个下标 name2 = 'my name is {name} ane i am {year} old' print(name2.format(name='houziyu',year=33)) #format普通用法 print(name.format_map({'name':'houziyu','year':12})) #字典用法 print(name.index('h')) #查找字符下标 print('ab23'.isalnum()) #是不是一个阿拉伯数字带英文字符 print('abA'.isalpha()) #纯英文字符 print('1A'.isdecimal()) #判断是不是10进制 print('1A'.isdigit()) #是不是一个整数 print('a1A'.isidentifier()) #判断是不是一个合法的标识符(是不是一个合法的变量名) print('a1A'.islower()) #是不是小写 print('a1A'.isnumeric()) #是不是一个数字 print('a1A'.isspace()) #是不是一个空格 print('Hou Zi Yu'.istitle()) #是不是一个标题(需要首字母大写) print('Hou Zi Yu'.isprintable()) #是不是可以打印的(在tty上才能判断) print('Hou Zi Yu'.isupper()) #是不是都是大写的 print(','.join(['4','3','2'])) #列表里面数据连接 print('Houziyu'.lower()) #把大写变成小写 print('Houziyu'.upper()) #把小写变成大写 print('\nHouziyu'.lstrip()) #去左边的空格回车 print('Houziyu\n'.rstrip()) #去右边的空格回车 print('\nHouziyu\n'.strip()) #去掉所有的空格回车 p = str.maketrans('abcdef','123456') #对应的把英文转成数字 print('alex li'.translate(p)) print('Houziyu'.replace('z','Z',1)) #把字符串中个一个东西替换成别的字符。并可以设置替换几个 print('Hyouziyu'.rfind('y')) #找到最右边的值的下标 print('Houziyu'.split('d')) #按照空格分成列表还能设置分隔符 print('Hou\nziyu'.splitlines()) #按照换行符列表 print('Houziyu'.swapcase()) #首字母小写,后面大写 print('Houziyu'.title()) #首字母大写 print('Houziyu'.zfill(50)) #不够的用0填充
五、数据运算
1、算数运算
2、比较运算
3、赋值运算
4、逻辑运算
5、成员运算
6、身份运算
7、位运算
运算符优先级
六、列表的增删改查
houziyu = ['shuaige','keai','yangguang','wennuan'] houziyu.append('wudi') #增加 houziyu.insert(2,'changtui') #插入 houziyu.remove('wudi') #删除 houziyu.pop(0) #删除 houziyu[0] = 'niubi' #修改 print(houziyu[-2]) #查看 print(houziyu[0::2]) #查看 print(houziyu.index('niubi')) #查找下标 print(houziyu.count('yangguang')) #统计 print(houziyu.clear()) #清空 houziyu.extend('man') #把man拆成3个字母 n2 = ['qiche','wandiannao'] houziyu.extend(n2) #把n2列表加入到houziyu里 houziyu.reverse() #反转排序 houziyu.sort() #顺序排序 #sort排序,队列中有字符串就全部用字符串,python2就没事。排序顺序是按照ascill码来进行排序的 houziyu.copy() #复制 n3 = houziyu.copy() #内存中存的地方不一样可用id查看 id(n3)and id(houziyu) print(houziyu)
还有一些小玩意
houziyu = [ ['houziyu',5500], ['laowang',2000], ['shaxiaozi',2200] ] for i,ele in enumerate(houziyu): print(i,ele)
#加颜色
print('\033[31;1mstr\033[0m')