Python学习之路day2

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python学习之路day2相关的知识,希望对你有一定的参考价值。

Python学习之路day2

一: 字符串的格式化输出

name = "abc"
name2 = 123
name3 = 22
name4 = "abc\\n\\t123"

abc = ‘‘‘
   name : %s
  name2 : %d
  name3 : %f
  name4 : %r
  name5 : %s
‘‘‘%(name,name2,name3,name4,name4)
print(abc)

   结果为:

      技术分享

  如上例,总结如下位

    %s :  输入字符串

    %d : 只能输出数字,否则会报错

    %f : 显示浮点数

    %r : 按原格式输出

 

二:运算

    a = 60    #0 0 1 1 1 1 0 0
    b = 13    #0 0 0 0 1 1 0 1

   1:与运算,两个数字的二进制值,必须全为 1 ,则结果才为1

      a & b = 0 0 0 0 1 1 0 0 = 12 

   2:或运算,两个数字的二进制值,只要有一个为1 ,则结果为1

      a / b = 0 0 1 1 1 1 0 1 = 49

   3: 异或运算,两个数字的二进制值,上下对比不同则为1

      # a ^ b =  0 0  1  1 0 0 0 1 = 49

 

三 :  for 循环

   循环的主要目的是,为了减少重复代码

   如例一:循环代码4次

    1 age = abc123
    2  
    3 for i in range(4):
    4      print("循环:", i )

    结果:

      技术分享  

  例二:循环十次,只显示后6次

1 for i in range(10):
2     if i<5:
3         continue #不往下走了,直接进入下一次loop
4     print("loop:", i )

    结果:

      技术分享

 

 四: while 循环

  1:死循环,会一直循环

1 count = 0
2 
3 while True:
4     print("开始啦...",count)
5     count +=1

  2:while 限制次数循环,猜年龄:

age = 18
count = 0
while count < 3:
    input_age = int(input("输入您的年龄:"))
    if  input_age == age:
        print("猜对了!")
        break
    elif input_age < age:
        print("猜小了")
    else:
        print("猜大了!")
    count += 1  # 每次loop 计数器+1
else:
    print("猜错3次了,退出.")

  

五:三元运算

  就是将 多行打印的条件显示成一行:

    例一:

a = 1
b = 2

if a > b:
    c = a+b
else:
    c =  a-b

    可以缩减为一行如下

c = a+b if a>b else a-b

  格式为:

    result = 1 if 条件 else 2

      如果条件为真:result = 值1
      如果条件为假:result = 值2

六:字符串其他用法

print(name.capitalize()),首字母大写
print(name.casefold()),全变小写	print(name.center(10,‘-‘)),凑足10个字符不够的按照 “-” 表示,如果不写默认以空格分割,字符串居中。
print(name.encodswith()),打印真或假
print(name.expandtabs)),加大字符串的空间
print(name.find("lib")),找寻值,找到早了回复值,找不到回复 -1
print(name.format()),与%s类似(照了相片看相片)
print(name.isdigit()),判断是否是一个数字

============================
print("ad".isalpha()),只包含字母的,回复 真
print("a2d".isalnum()),只包含字母和数组的组合,回复真
print("2".isdecimal)  ,值中有小数则返回 true

age = "22"
print(age.isdecimal())


print("2".isdigit()),只包含整正数
print("al_ex".isdentifier()) # 是不是合法的变量名
print("al_ex".isupper())
print("2".islower())
print("2".isumeric())
print(float("3.1"),判断是否是浮点数,不是就报错
print("3.1".isspase()),判断是否是空格
print(",".join("alex")), 结果: a,l,e,x //*判断决定分割

print("alex".ljust(50,‘-‘)),从左开始显示字符串,不足的用 “ - ”,
print("alex".rjust(50,‘-‘)),从右开始显示字符串,不足的用 “ - ”,
=================== print("alex".translate(trantab)), print("alex".partition("1")), print("alex".replace("ex","123")), 结果:al123 //* 替换字符

  

 

七:元组

  元组其实跟列表差不多,也是存一组数,只不是它一旦创建,便不能再修改,所以又叫只读列表

    语法:names = ("alex","jack","eric")

 

八:字典

       1:字典的作用,为什么要有字典:由于列表查询值时,需要知道索引值,或者要知道子列表中的所有值,查询时非常不方便,所以取值与查询非常不方便,所以出现了字典,来弥补列表的不足

 

       2:字典的语法,以及特点:

              Variable = { key,value }  # 字典

              Variable = [ 值1,值2,值3 ]  # 列表

              Variable = (值1,值2,值3)  # 元组

 

              1:在字典的key 中,key值必须时唯一的,否则在查询值时,会出现错误,

              2:字典中的key值,是无序的,key对应的值是不变的,除非人为的对其进行修改

 

       3:字典的增删改查:

names = {

    "stu1101":{"name":"Alex","age":"22","hobbie":"girl"},

    "stu1102":"Jack",

    "stu1103":"rain"

}

  

1): 查

print(names["stu1101"]["hobbie"])

print(names.get("stu1104","abc123"))  #查询stu1104值是否存在,存在就返回他查找的value值,不存在就返回abc123是自己定义的,不定义就返回None。

(1):查询字典中的所有key值

       print(names.keys())

 

(2):查询字典中的所有value值

       print(names. values())

 

       2): 增加

              names["stu1104"] = ["zsy",18,"ABC123"]

 

       3): 改

              names["stu1104"]=‘new_value_1‘  #如果要替换值,替换后他会将key对应的 value值全部替换掉,无法修改key对应的值中的其中一个值

      

4):删除

(1):print(names.pop("stu1101","abc123"))

         # 删除stu1101的值,如果值存在就返回他的删除的value值,不存在就返回abc123,abc123是自己定义的,如果不定义,要删除的值还不存在,就会报错,所以必须加上回显的值

          (2):# del names["stu1103"]

 

4:字典的其他操作

       1):fromkeys(变量,value值)   # 将列表改为字典

技术分享

//* 注释:

1:dict是数据类型,只能使用dict才能调用fromkeys()

2:上图显示 jack 与 eric 对应的value的值是一个内存id ,所以,可以判断,他们指向的,value 值 是一个,所以如果对其中一个进行修改其他的也会跟着改,如图8-4-1。所以,如果不想出现此情况可以对 value值进行修改,如图8-4-2:

技术分享

图8-4-1

技术分享

图8-4-2

 

       2):items():将字典打印成列表

技术分享 

       用途一般是用来循环打印字典信息的:但是效率不高

 技术分享

 

3):setdefault(N,M):查找N,如果N存在,回示N的value , 如图:图8-4-3

如果N不存在,则添加N,M。(N为key,M为value) 如图:图8-4-4

 技术分享

图8-4-3

 技术分享

图8-4-4

 

4):update():合并两个列表,如果两个列表有相同的值,则使用新加入的值 

 技术分享

5):copy():复制一个字典:占用一个单独的内存空间:

       (1):浅 copy

 技术分享

//*注释:1:copy是单独复制出来了一块内存地址,所以两个最外层的字典内存ID不同

2:第二层的字典ID相同的意义是因为,stu1101对应的value不是直接在整个字典中的,他是 stu1101指向了一个内存的ID,两个字典的二层字典,同时指向了一个ID,所以才出现上面的情况

例1:可以使用copy的这个共性,实现两个账户同时对一个库的使用,就如同,银行卡的子母银行卡

 技术分享

(2):深copy,完全 copy 连子字典都重新定义

 技术分享

            例二:

      技术分享

 

 

 



以上是关于Python学习之路day2的主要内容,如果未能解决你的问题,请参考以下文章

python 学习之路-day2

Python学习之路day2

python的学习之路day2

python 学习之路 Day2

Python学习之路——Day2

python修炼之路-day2