oldboy第二天学习

时间:2021-08-29 13:19:14

一、上课体验及感受

  第二天上课了,从循环到队列,感觉都可以接受,但是当循环遇到队列之后感觉脑袋就有点不够用了。不知道是因为萌新的问题。每个人都这样,还是个人能力不行。总而言之加油努力吧!!

二、循环,在程序员写程序的时候最忌讳的就是写重复代码。

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个:字符串、队列、元组、字典、数字

#然而数字分很多种数据类型。如下图

oldboy第二天学习

int(整型)

  在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
  在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
long(长整型)
  跟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都是实数。
注: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(['','',''])) #列表里面数据连接
print('Houziyu'.lower()) #把大写变成小写
print('Houziyu'.upper()) #把小写变成大写
print('\nHouziyu'.lstrip()) #去左边的空格回车
print('Houziyu\n'.rstrip()) #去右边的空格回车
print('\nHouziyu\n'.strip()) #去掉所有的空格回车
p = str.maketrans('abcdef','') #对应的把英文转成数字
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、算数运算

oldboy第二天学习

  2、比较运算

oldboy第二天学习

  3、赋值运算

oldboy第二天学习

  4、逻辑运算

oldboy第二天学习

  5、成员运算

oldboy第二天学习

  6、身份运算

oldboy第二天学习

  7、位运算

oldboy第二天学习

运算符优先级

oldboy第二天学习

六、列表的增删改查

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')