Python之旅第二天(第一天补充部分、数据类型、运算逻辑、部分方法的引入、pycharm)

今天其实是有点小忙的,但是干自己不喜欢事情的结果就是,要睡觉了都不知道自己在忙鸡毛,所以还是不继续想了,脑仁疼。回忆一下今天的学习内容,着实有点少,本大侠还没怎么过瘾呢。废话不多说。

while补充两个重要的单词:

  continue:提前结束本次的while循环,重新验证while条件,开始下次循环

  break:直接跟本while循环说再见,结束循环

  所以昨天的限制输入三次机会的题目我可能写的太麻烦了,重新记录如下吧。

a = 1
name = "bab"
mima = "mom"

while a < 4:
    name_user = input("请输入用户名")
    mima_user = input("请输入密码")
    if name_user == name and mima_user == mima:
        print("欢迎进入你的世界")
        break
    else:
        print("请重新输入")
    a = a + 1

if a == 4:
    print("三次机会已用完")
else:
    pass

  这下子逻辑顺序貌似更顺一点了,事实证明,笨人总能找到解决办法,智商确实只是个buff,打怪还是得靠普攻和技能。

关于计算机对照码的问题(集中于ASCII、utf-8、GBK、unicode)

  昨天看到python2运行print汉字的时候出现乱码的问题,一直没怎么想明白,下面为今后可能忘了的我介绍一下他们的存在

  ASCII:鹰酱最早用电脑,所以最早的电脑都是他们做的,1个字节对应所有,算下来就是256个不同形式的字母和乱七八糟的符号。

  GBK:作为种花家的传人,用2个字节表示一个汉字,从此电脑认识了种花家的字

  unicode:万国码,各国都有用电脑的需求,所以他们规定至少用16位二进制数对应,识别万物,但是对1个字节的ASCII来说有点浪费,于是下面这个家伙出场了。

  utf-8:短的用短的,长的的用长的,就是一个unicode的压缩版,但是他表示汉字的时候要3个字节。

  昨天用python2设置识别#-*- coding:utf-8 -*-之后,文字是按照3字节识别的,但是我们在用Windows时候是用的GBK模式储存,那么都存成1010101000.。。。。搞不清分段,自然就错了。

  废话说的果然多啊

逻辑运算的问题(and、or、not)

  意思很容易理解,主要是运算的先后顺序问题,如果有括号,自然是先算括号里面的。

  但是如果:

user = "alex"
pwd = 123

v = user=="alex" and pwd ==123 or 1==2 and pwd==12

print(v)

  这个v是true还是false呢?

  原则是这样的,从左向右

  true 遇到 or 不走了,反正前面对的,后面不管是啥,结果就是true

  true 遇到 and 请继续算吧

  false遇到 or 请继续吧

  false遇到and 不走了,反正前面错了,后面对的也是个false

接下来是数据类型:

  int、str、bool、list、tuple、dict

部分方法的引入:

  关于int类型的:

  num = "0011"

  v = int ( num , base = 16)

  将num的str类型转换为int类型,具体按照几进制参考base,没写就默认十进制。

  age = 20

  r = age.bit_length()      这个数字用二进制表示至少需要几位

  关于str类型的:

  capitalize 首字母大写  casefold 任意国家的文字转为小写(不咋用)

  lower 转所有英文字母为小写

  center 设置宽度,并填充内容,同时将str居中

test = "alex"
v = test.centr(20,"*")

  得到的结果**********alex**********

  count(“  ”,num(start) , num2(end)) 制定某一字符片段,在一点区间内出现次数,不限定区间则默认全部。

  endswith(“  ”,num(start) , num2(end)) 判定是否以“  ”内字符结尾,得bool类型

  startswith(“  ”,num(start) , num2(end)) 判定是否以“  ”内字符开始,得bool类型

  find(“  ”,num(start) , num2(end)) 找到“   ”内的内容是在某一范围的什么位置开始的,不限定范围则是全部,找不到的-1.(index功能相同,但找不到会报错)

  isalnum 判定该str是否只由数字和字母组成,得bool类型

  

 格式化,将一个字符串中的占位符替换为指定的值
 test = 'i am {name}, age {a}'
 print(test)
 v = test.format(name='alex',a=19)
 print(v)

 test = 'i am {0}, age {1}'                按顺序进入查找的,排序记得从0开始。
 print(test)
 v = test.format('alex',19)
 print(v)

format_map具有一定的检索功能

 格式化,传入的值 {"name": 'alex', "a": 19}   这个不是很明白,大致传送的是一个字典
 test = 'i am {name}, age {a}'
 v1 = test.format(name='df',a=10)
 v2 = test.format_map({"name": 'alex', "a": 19})

今天我的电脑有毛病,pycharm一直搞不定,耽搁时间了,哎呀,第二天还是很开心啊。

原文地址:https://www.cnblogs.com/xiaoyaotx/p/12359670.html