zoukankan      html  css  js  c++  java
  • 其他pyton笔记

       1 #小部分老男孩pyton课程
       2 
       3 
       4 #所有脚本第一句话都要写解释以下脚本是用什么解释器
       5 #!/usr/bin/env python
       6 #语言设置为:简体中文
       7 #_*_coding:utf-8_*_
       8 
       9 #############################################################################>>>
      10 #
      11 #变量定义的规则:
      12 
      13 #变量名只能是 字母、数字或下划线的任意组合
      14 #变量名的第一个字符不能是数字
      15 #以下 关键字 不能声明为变量名
      16 ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif',
      17  'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if',
      18  'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise',
      19  'return', 'try', 'while', 'with', 'yield']
      20 #
      21 #############################################################################>>>
      22 #input <输入>
      23 #print<打印>
      24 username = input('用户名')
      25 password = input('密码')
      26 print(username,password)
      27 ######################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
      28 #输入密码时,如果想要不可见,需要利用getpass 模块中的 getpass方法,即:
      29 #另存为 passwd.py到  c:usersalexpycharmprojectss14day1>python
      30 
      31 import getpass
      32 
      33 username = input('usernmae:')
      34 password = getpass.getpass('password:')
      35 
      36 print(username,password)
      37 
      38 cd c:usersalexpycharmprojectss14day1>python passwd.py
      39 
      40 ######################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
      41 
      42 #  .format   <格式>
      43 #  import    <调用>  getpass<py系统自带函数模块,密文输入>
      44 #  print     <打印>
      45 #  if        <条件成立执行>
      46 #  and       <而且>
      47 #  else      <if条件不成立时执行>
      48 
      49 import getpass
      50 
      51 name = 'alex'
      52 word = 'as123'
      53 
      54 username = input('名字:')
      55 password = input('密码:')
      56 
      57 if name == username and word == password:
      58     print('欢迎 {N} 登录'.format(N=name))
      59 else:
      60     print('账号或者密码错误')
      61 
      62 ######################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
      63 
      64 #  i  <变量名>
      65 #  range(10)  <范围>  (0,1,2,3,4,5,6,7,8,9)<0-9十个数>
      66 
      67 for i in range(10):
      68     print('loop',i)
      69 
      70     
      71 #  (0,10,3)  <起始数,结束值,步长>  <步长默认加1>
      72 for i in range(0,10,3):
      73     print('loop',i)
      74 
      75 
      76 ######################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
      77 
      78 # continue  <跳出本次循环,重新循环>
      79 
      80 for h in range(0,10):
      81     if h <3:
      82         print('loop',h)
      83     else:
      84         print('kkkkkk...')
      85         continue
      86         print('yyyyyy...')
      87     print('呵呵呵...')
      88 
      89 ######################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
      90 
      91 #  for t in range(9)  <条件循环> <变量名> <在> <范围(参数)>
      92 #  print  <打印>
      93 #  if     <条件判断>
      94 #  break  <中止程序>
      95 
      96 for t in range(9):
      97     print('______',t)
      98     for j in range(11,50):
      99         print(j)
     100         if j >= 22:
     101                break
     102 
     103 #############################################################################>>>
     104 
     105             
     106 #模块寻找路径先在当前目录下寻找,然后在全局环境变量目录里寻找
     107             
     108 #'''你会发现,上面自己写的tab.py模块只能在当前目录下导入,
     109 #如果想在系统的何何一个地方都使用怎么办呢? 此时你就要
     110 #把这个tab.py放到python全局环境变量目录里啦,基本一般都
     111 #放在一个叫 Python/2.7/site-packages 目录下,这个目录
     112 #在不同的OS里放的位置不一样,用 print(sys.path) 可以查
     113 #看python环境变量列表。'''
     114                  #系统自带模块在以下目录里为  XXX.py的文件
     115 #C:UsersAdministratorAppDataLocalProgramsPythonPython36-32Lib
     116 
     117                  #默认第三方模块在以下目录里(即是全局环境变量目录)
     118 #C:UsersAdministratorAppDataLocalProgramsPythonPython36-32Libsite-packages
     119 
     120 import sys
     121 print(sys.path)  #打印环境变量
     122 print('------我割割割-------')
     123 print(sys.argv)   #打印路径
     124 
     125 ######################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     126 
     127 import os
     128 
     129 #cmd = os.system('dir')#执行命令,不保存结果
     130 
     131 #print('查看1',cmd)
     132 
     133 #直接输出到屏幕上
     134 
     135 #cmd2 = os.popen('dir2').read()
     136 #print('查看2',cmd2)
     137 
     138 cmd3 = os.mkdir('查看3')
     139 print('查看3',cmd3)
     140 
     141 #############################################################################>>>
     142 
     143 1、数字
     144 int(整型)
     145 -9223372036854775808~9223372036854775807
     146 
     147 float(浮点型)
     148 3.23和52.3E-4是浮点数的例子。E标记表示10的幂。在这里,52.3E-4表示52.3 * 10-4
     149 complex(复数)
     150 (-5+4j)和(2.3-4.6j)是复数的例子,其中-5,4为实数,j为虚数
     151 
     152 2、布尔值
     153   真或假
     154   1 或 0
     155 
     156 3、字符串
     157 "hello world"
     158 #############################################################################>>>
     159 
     160 
     161 
     162 #############################################################################>>>
     163 #
     164 #  字符串格式化符号含义
     165 #
     166 #  符号             说明
     167 #
     168 #  %c  <格式化字符及其ASCII码><a=97>
     169 #           >>> '%c %c %c %c %c' % (97,98,99,100,101)
     170 #           >>> 'a b c d e'
     171 #  %s  <格式化字符串>
     172 #           >>> '%s' % 'I love fc'
     173 #           >>> 'I love fc'
     174 #  %d  <格式化整数>
     175 #           >>> '%d + %d = %d' % (4,5,4+5)
     176 #           >>>  '4 + 5 = 9'
     177 #  %o  <格式化无符号八进制数>
     178 #  %x  <格式化无符号十六进制数>    <10=a,11=b>
     179 #           >>> '%x' % 160
     180 #           >>>'a0'
     181 #  %X  <格式化无符号十六进制数(大写)>    <10=A,11=B>
     182 #  %f  <格式化定点数,可以指定小点后的精度>
     183 #           >>> '%F' % 27.986
     184 #           >>> '27.986000'
     185 #  %e  <用科学计数法格式化定点数>
     186 #           >>> '%e' % 27.158
     187 #           >>> '2.715800e+01'
     188 #  %E  <作用同%e,用科学计数法格式化定点数>
     189 #  %g  <根据值的大小决定使用%f或%e>
     190 #  %G  <作用同%g,根据值的大小决定使用%f或%E>
     191 #
     192 #############################################################################>>>
     193 #print<打印>
     194 #打印数据类型
     195 
     196 name = input('名字:')
     197 age = int(input('年龄:'))
     198 print(type(age),  type(str(age)))
     199 job = input('行业:')
     200 salaty = input('年薪:')
     201 
     202 
     203 info = '''
     204 --------info of %s -----
     205 Name:%s
     206 Age:%d
     207 job:%s
     208 salary:%s
     209 ''' %(name,name,age,job,salaty)
     210 print(info)
     211 ============== RESTART: C:/Users/Administrator/Documents/学习.py ==============
     212 名字:a
     213 年龄:12
     214 <class 'int'> <class 'str'>
     215 行业:sdad
     216 年薪:2555
     217 
     218 --------info of a -----
     219 Name:a
     220 Age:12
     221 job:sdad
     222 salary:2555
     223 
     224 >>> 
     225 
     226 #############################################################################>>>
     227 #显式转换的多种类型
     228 #
     229 #int (x [,base]) ⇒ 将x转换为一个十进制的整数 
     230 #long(x [,base]) ⇒ 将x转换为一个十进制的长整数 
     231 #float(x) ⇒ 将x转换为一个浮点数 
     232 #str(object) ⇒ 转换为字符串 
     233 #repr(object) ⇒ 转换为表达式字符串 
     234 #eval(str) ⇒ 用来计算在字符串中的有效Python表达式,并返回一个对象 
     235 #tuple(seq) ⇒ 将序列seq转换为一个元组 
     236 #list(seq) ⇒ 将序列seq转换为一个列表 
     237 #chr(x ) ⇒ 将一个整数转换为一个字符 
     238 #unichr(x ) ⇒ 将一个整数转换为Unicode字符 
     239 #ord(x ) ⇒ 将一个字符转换为它的整数值 
     240 #hex(x ) ⇒ 将一个整数转换为一个十六进制字符串 
     241 #oct(x ) ⇒ 将一个整数转换为一个八进制字符串
     242 #############################################################################>>>
     243 
     244 #############################################################################>>>
     245 #   当行注释:# 被注释内容
     246 #   多行注释:   ''' 被注释的内容  '''
     247 #
     248 #
     249 info = '''
     250 
     251 
     252 
     253 '''
     254 #
     255 #############################################################################>>>
     256 
     257 ######################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     258 
     259 #format<格式>
     260 
     261 name = input('名字:')
     262 age = int(input('年龄:'))
     263 print(type(age),  type(str(age)))
     264 job = input('行业:')
     265 salaty = input('年薪:')
     266 
     267 
     268 info2 = '''
     269 --------info of {N}  --------
     270 姓名:{N}
     271 芳龄:{A}
     272 职业:{J}
     273 工资:{S}
     274 '''.format(N=name,
     275            A=age,
     276            J=job,
     277            S=salaty)
     278 
     279 print(info2)
     280 
     281 ============== RESTART: C:UsersAdministratorDocuments学习.py ==============
     282 名字:yyy5
     283 年龄:88
     284 <class 'int'> <class 'str'>
     285 行业:dgdgdg5dgdfg
     286 年薪:9995121
     287 
     288 --------info of yyy5  --------
     289 姓名:yyy5
     290 芳龄:88
     291 职业:dgdgdg5dgdfg
     292 工资:9995121
     293 
     294 >>> 
     295 ###################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     296 
     297 #format<格式>
     298 
     299 name = input('名字:')
     300 age = int(input('年龄:'))
     301 print(type(age),  type(str(age)))
     302 job = input('行业:')
     303 salaty = input('年薪:')
     304 
     305 
     306 info3 = '''
     307 --------info of {0}  --------
     308 姓名:{0}
     309 芳龄:{1}
     310 职业:{2}
     311 工资:{3}
     312 '''.format(name,age,job,salaty)
     313 
     314 print(info3)
     315 
     316 >>> 
     317 ============== RESTART: C:UsersAdministratorDocuments学习.py ==============
     318 名字:d5as6d5
     319 年龄:56565
     320 <class 'int'> <class 'str'>
     321 行业:ad2a6sd6a
     322 年薪:26s5d6s2d6s2
     323 
     324 --------info of d5as6d5  --------
     325 姓名:d5as6d5
     326 芳龄:56565
     327 职业:ad2a6sd6a
     328 工资:26s5d6s2d6s2
     329 
     330 >>> 
     331 
     332 #############################################################################>>>
     333 
     334 #——————————数据运算——————
     335 #
     336 #——算数运算:——
     337 #
     338 #    运算符     描述                                                                         实例
     339 #
     340 #    +          加-两个对象相加________________________________________________________________a+b 输出结果 30    15+15=30
     341 #    -          减-得到负数或者一个数减去另一个数______________________________________________a-b 输出结果-10    20-30=-10
     342 #    *          乘-两个数相乘或者返回一个被重复若干次的字符串__________________________________a*b 输出结果200    20*10=200
     343 #    /          除-X除以Y______________________________________________________________________b/a 输出结果2      4/2=2
     344 #    %          取模-返回除法的余数____________________________________________________________b%a 输出结果0
     345 #    **         幂-返回X的Y次幂________________________________________________________________a**b 为10的20次方,输出结果100000000000000000000
     346 #    //         取整除-返回商的整数部分________________________________________________________9//2 输出结果 4      9.0//2.0  输出结果4.0
     347 #
     348 ##############################################################################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     349 #
     350 #——比较运算:——   false<假0>   true<真1>
     351 #
     352 #    运算符     描述                                                                          实例
     353 #
     354 #    ==         等于-比较对象是否相等__________________________________________________________(a==b)返回False
     355 #    !=         不等于-比较两个对象是否不相等__________________________________________________(a!=b)返回true
     356 #    <>         不等于-比较两个对象是否不相等__________________________________________________(a<>b)返回true   这个运算符类似  !=
     357 #    >          大于-返回X是否大于Y____________________________________________________________(a>b)返回False
     358 #    <          小于-返回X是否小于y。所有比较运算符返回1表示真,返回0表示假____________________(a<b)返回true
     359 #                     这分别与特殊的变量True和False等价.注意,这些变量名的大写。                                 
     360 #    >=         大于等于-返回x是否大于等于y____________________________________________________(a>=b)返回False
     361 #    <=         小于等于-返回x是否小于等于y____________________________________________________(a>=b)返回true
     362 #
     363 ##############################################################################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     364 #
     365 #——赋值运算:——
     366 #
     367 #    运算符      描述                                                                           实例
     368 #
     369 #    =           简单的赋值运算符_______________________________________________________________c  =  a + b 将 a + b 的运算结果赋值给 c
     370 #    +=          加法赋值运算符_________________________________________________________________c +=  a   等效于 c = c +  a
     371 #    -=          减法赋值运算符_________________________________________________________________c -=  a   等效于 c = c -  a                                                              
     372 #    *=          乘法赋值运算符_________________________________________________________________c *=  a   等效于 c = c *  a                                                                                                             
     373 #    /=          除法赋值运算符_________________________________________________________________c /=  a   等效于 c = c /  a                                                                                                             
     374 #    %=          取模赋值运算符_________________________________________________________________c %=  a   等效于 c = c %  a                                                                    
     375 #    **=         幂赋值运算符___________________________________________________________________c **= a   等效于 c = c ** a                                                                                                              
     376 #    //=         取整赋值运算符_________________________________________________________________c //= a   等效于 c = c // a                                                 _                                                             
     377 #
     378 ##############################################################################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     379 #
     380 #——逻辑值运算:——
     381 #
     382 #    运算符      描述                                                                           实例
     383 #
     384 #    and         布尔“与”-如果X为False,  X and Y  ,返回False,否则它返回Y的计算值_____________(K and J)返回true
     385 #    or          布尔“或”-如果X为True, 它返回True,否则它返回Y的计算值_________________________(K or J)返回true
     386 #    not         布尔“非”-如果X为True,返回False,如果X为False,它返回True______________________not(K and J)返回true                                                            
     387 #
     388 ##############################################################################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     389 #
     390 #——成员运算:——
     391 #
     392 #    运算符      描述                                                                           实例
     393 #
     394 #    in         如果在指定的序列中找到值返回True,否则返回False,________________________________x在y序列中,如果x在y序列中返回True
     395 #    not in     如果在指定的序列中没有找到值返回True,否则返回False,____________________________x不在y序列中,如果x在y序列中返回True                                                
     396 #
     397 ##############################################################################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     398 #
     399 #——身份运算:——
     400 #
     401 #    运算符      描述                                                                           实例
     402 #
     403 #    is         is是判断两个标识符是不是引用自一个对象__________________________________________x is y ,如果 id(x) 等于 id(y)  ,is 返回结果1
     404 #    is not     is not是判断两个标识符是不是引用自不同对象______________________________________x is not y ,如果 id(x) 不等于 id(y)  ,is not 返回结果1                                            
     405 #
     406 ##############################################################################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     407 #
     408 #——位运算:——
     409 #
     410 #    运算符     描述                                                                         实例
     411 #
     412 #    &          按位与运算符_________________________________________________________________(a&b)  输出结果  12 ,二进制解释: 0000 1100
     413 #    |          按位或运算符_________________________________________________________________(a|b)  输出结果  61 ,二进制解释: 0011 1100
     414 #    ^          按位异或运算符_______________________________________________________________(a^b)  输出结果  49 ,二进制解释: 0011 0001
     415 #    ~          按位取反算符_________________________________________________________________(~a)   输出结果 -61 ,二进制解释: 1100 0011  ,在一个有符号二进制数的补码形式。
     416 #    <<         左移动运算符_________________________________________________________________a<<2   输出结果 240 ,二进制解释: 1111 0000
     417 #    >>         右移动运算符_________________________________________________________________a>>2   输出结果  15 ,二进制解释: 0000 1111
     418 #
     419 ###>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     420 #    按位取反运算规则(按位取反再加1)
     421 #!/usr/bin/python
     422   
     423 a = 60            # 60 = 0011 1100
     424 b = 13            # 13 = 0000 1101
     425 c = 0
     426   
     427 c = a & b;        # 12 = 0000 1100
     428 print "Line 1 - Value of c is ", c
     429   
     430 c = a | b;        # 61 = 0011 1101
     431 print "Line 2 - Value of c is ", c
     432   
     433 c = a ^ b;        # 49 = 0011 0001 #相同为0,不同为1
     434 print "Line 3 - Value of c is ", c
     435   
     436 c = ~a;           # -61 = 1100 0011
     437 print "Line 4 - Value of c is ", c
     438   
     439 c = a << 2;       # 240 = 1111 0000
     440 print "Line 5 - Value of c is ", c
     441   
     442 c = a >> 2;       # 15 = 0000 1111
     443 print "Line 6 - Value of c is ", c
     444 
     445 
     446 ##############################################################################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     447 #
     448 #——运算符优先级:——
     449 #
     450 #    运算符                             描述                                                                           
     451 #
     452 #    **                                  ___指数(最高优先级)
     453 #    ~ + -                               ___按位翻转,一元加号和减耗(最后两个的方法名为+@和-@)
     454 #    * / % //                            ___乘,除,取模和取整数                                                         
     455 #    + -                                 ___加法减法                                                                                                          
     456 #    >> <<                               ___右移,左移运算符                                                                                                         
     457 #    &                                   ___位 'AND'                                    
     458 #    ^ |                                 ___位运算符                                                                                                  
     459 #    <= < > >=                           ___比较运算符                                                          
     460 #    < > == !=                           ___等于运算符
     461 #    = %= /= //= -= += *= **=            ___赋值运算符
     462 #    is  is not                          ___身份运算符                                                           
     463 #    in  not in                          ___成员运算符                                                                                                         
     464 #    not or and                          ___逻辑运算符                                                                                                       
     465 # 
     466 ######>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     467 #    * / + -  <一元操作符>
     468 #    %[百分比,取余数]  **[幂运算操作符,比一元操作符左边高比一元操作符右边低]
     469 #    //[地板除法]
     470 #
     471 #运算符优先级
     472 #              幂运算          **
     473 #             正负号        +*  -*
     474 #         算术操作符    *  /  //   +  -
     475 #         比较操作符   <  <=   >   >=   ==   != 
     476 #         逻辑运算符       not  and  or
     477 #
     478 #比较操作符 < <=  >  >=  ==  !=   <根据表示的值进行比较>
     479 #
     480 #true  <1,真>   false  <0,假>
     481 #逻辑符  and <左右都为true执行>  or <左右 或者为true执行>  not<相反执行>
     482 
     483 ###>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     484 
     485 #三元操作符  语法: x if 条件 else y
     486 #x,y = 4, 5
     487 #if x < y:
     488 #   small=x
     489 #else:
     490 #   small=y
     491 #改进为
     492 #small = x if x < y else y
     493 #
     494 #assert<断言,关键字,AssertionError,程序检查点>
     495 
     496 #true  <1,真>   false  <0,假>
     497 #while<而,循环体,为true时执行>
     498 #
     499 #for<为,循环体>  in<在>
     500 #
     501 #for 目标 in 表达式
     502 #   循环体
     503 
     504 ##############################################################################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     505 
     506 三元运算
     507 
     508 result = 值1 if 条件 else 值2
     509 如果条件为真:result = 值1
     510 如果条件为假:result = 值2
     511 
     512 三、进制
     513 
     514 二进制,01
     515 八进制,01234567
     516 十进制,0123456789
     517 十六进制,0123456789ABCDEF  二进制到16进制转换http://jingyan.baidu.com/album/47a29f24292608c0142399cb.html?picindex=1
     518 计算机内存地址和为什么用16进制?
     519 
     520 为什么用16进制
     521 1、计算机硬件是0101二进制的,16进制刚好是2的倍数,更容易表达一个命令或者数据。十六进制更简短,因为换算的时候一位16进制数可以顶4位2进制数,也就是一个字节(8位进制可以用两个16进制表示)
     522 2、最早规定ASCII字符集采用的就是8bit(后期扩展了,但是基础单位还是8bit),8bit用2个16进制直接就能表达出来,不管阅读还是存储都比其他进制要方便
     523 3、计算机中CPU运算也是遵照ASCII字符集,以16、32、64的这样的方式在发展,因此数据交换的时候16进制也显得更好
     524 4、为了统一规范,CPU、内存、硬盘我们看到都是采用的16进制计算
     525 
     526 16进制用在哪里
     527 1、网络编程,数据交换的时候需要对字节进行解析都是一个byte一个byte的处理,1个byte可以用0xFF两个16进制来表达。通过网络抓包,可以看到数据是通过16进制传输的。
     528 2、数据存储,存储到硬件中是0101的方式,存储到系统中的表达方式都是byte方式
     529 
     530 3、一些常用值的定义,比如:我们经常用到的html中color表达,就是用的16进制方式,4个16进制位可以表达好几百万的颜色信息。
     531 
     532 ##############################################################################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     533 
     534 ################################################################################
     535 #以下代码复制到python(3.6.2rc2)下 按F5 可以正常执行,对比学习。QQ:124111294欢迎
     536 #字符串的操作特性:不可修改
     537 #
     538 #常用变量演示
     539 name = 'my name is alex'
     540 print(name.capitalize())
     541 print(name.count('a'))
     542 print(name.center(50,'-'))
     543 print(name.endswith('ex'))
     544 print(name.expandtabs(tabsize=30))
     545 print(name[name.find('name'):])
     546 print(name.format(name='alex',year=23))
     547 print(name.format_map( {'name':'alex','year':12} ))
     548 print('ab23'.isalnum())
     549 print('abA'.isalpha())
     550 print('1A'.isdecimal())
     551 print('1A'.isdigit())
     552 print('a 1A'.isidentifier())#判断是否合法的标识符
     553 print('33'.isnumeric())
     554 print('33'.isspace())
     555 print('My Name IS '.istitle())
     556 print('My Name IS '.isprintable())#设备终端使用
     557 print('My Name IS '.isupper())
     558 print('+'.join(['1','2','3']))
     559 print( name.ljust(23,'*'))
     560 print( name.rjust(25,'-'))
     561 print( 'Alex'.lower())
     562 print( 'Alex'.upper())
     563 print( '
     Alex'.lstrip())
     564 print( 'Alex 
    '.rstrip())
     565 print( '    Alex
    '.strip())
     566 
     567 print('---随机密码----')
     568 h = str.maketrans('abcdefli','123$@456')#随机密码
     569 print('alex li'.translate(h))
     570 print('                 ')
     571 
     572 print('---替换----')
     573 print('alex li lllll'.replace('l','L',4))
     574 print('                 ')
     575 
     576 print('---寻找下标号----')
     577 print('alex li'.rfind('l'))
     578 print('                 ')
     579 
     580 print('---按字符串分割----')
     581 print('al ex lil'.split('l'))
     582 print('                 ')
     583 
     584 print('---按换行
    分割----不同系统的换行')
     585 print('1+2
    +3+4'.splitlines())
     586 print('                 ')
     587 
     588 print('---按换行
    分割----')
     589 print('Alex Li'.swapcase())
     590 print('                 ')
     591 
     592 print('---第一字母大写----')
     593 print('llex Li'.title())
     594 print('                 ')
     595 
     596 print('---前边用0填充----')
     597 print('lex Li'.zfill(26))
     598 print('                 ')
     599 
     600 
     601 
     602 ####>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     603 #变量名.capitalize()
     604 #
     605 #capitalize()                   <把字符串的第一个字符改为大写>
     606 #casefold()                     <把整个字符串的所有的字符变成小写>
     607 #center(width)                  <将字符串居中,并使用空格填充至长度width的新字符串>
     608 #count(sub[,start[,end]])       <返回sub在字符串里边出现的次数,start和end参数表示范围,可选>
     609 #encode(encoding='utf-8',errors='strict')           <以encoding指定的编码格式对字符串进行编码>
     610 #endswith(sub[,start[,end]])    <检查字符串是否sub字符串结束,如果是返回true,否则返回false,
     611 #                                    start和end参数表示范围,可选 >
     612 #expandtabs([tabsize=8])        <把字符串的tab符号(	)转换为空格,字符默认的空格数是tabsize=8>
     613 #find(sub[,start[end]])         <检测sub是否包含在字符串中,如果有返回索引值,否则返回-1,
     614 #                                    start和end参数表示范围,可选>
     615 #index(sub[,start[,end]])       <跟find方法一样,不过如果sub不在string中会产生异常>
     616 #isalunum()                     <如果字符串至少有一个字符都是字母或数字则返回true,否则返回false>
     617 #isalpha()                      <如果字符串至少有一个字符并且所有字符都是字母则返回true,否则返回false>
     618 #isdecimal()                    <如果字符串只包含十进制数字则返回true,否则返回false>
     619 #isdingt()                      <如果字符串中只包含数字,则返回true,否则返回false>
     620 #islower()                      <如果字符串中至少包含一个区分大小写的字符,并且这些字符都是小写,
     621 #                                    则返回ttue,否则返回false>        
     622 #isnumeric()                    <如果字符串中只包含数字字符,则返回true,否则返回false>
     623 #isspace()                      <如果字符串中只包含空格,则返回true,否则返回false>
     624 #istile()                       <如果字符串是标题化(所有的单词都是以大写开始,其余字母均小写)
     625 #                                     则返回ttue,否则返回false>
     626 #isupper()                      <如果字符串至少包含一个区分大小写的字符,并且这些字符都是大写,
     627 #                                  则返回ttue,否则返回false>
     628 #join(sub)                      <以字符串作为分隔符,插入到sub中所有的字符之间>
     629 #ljust(width)                   <返回一个左对齐的字符串,并且使用空格填充至长度为width的新字符串>
     630 #lower()                        <转换字符串中所有大写字符为小写>
     631 #lstrip()                       <去掉字符串左边的所有空格>
     632 #partition(sub)                 <找到子字符串sub,把字符串分成一个3元组(pre_sub,sub,fol_sub),
     633 #                                    如果字符串中不包含sub则返回('原字符串','','')>
     634 #replace(old,new[,count])       <把字符串中的old子字符串替换成new子字符串,
     635 #                                     如果count指定,则替换不超过count次>
     636 #rfind(sub[,start[,end]])       <类似于find()方法,不过是从右边开始查找>
     637 #rindex(sub[start[,end]])       <类似于index()方法,不过是从右边开始>
     638 #rjust(width)                   <返回一个右对齐的字符串,并且使用空格填充至长度为width的新字符串>
     639 #rpartion(sub)                  <类似于partion()方法,不过是从右边开始查找>
     640 #rstrip()                       <删除字符串末尾的空格>
     641 #splis(sep=none,maxsplit=-1)    <不带参数默认是以空格为分隔符切片字符串,如果maxsplit参数有设置,
     642 #                                     则仅分隔maxsplit个子字符串,返回切片后的子字符串拼接列表>
     643 #splitlines(([keepends]))       <按照'
    '分隔,返回一个包含各行作为元素的列表,
     644 #                                     如果keepends参数指定,则返回前keepends行>
     645 #startswith(prefix[,start[,end]])<检查字符串是否以prefix开头,是则返回true,否则返回false,
     646 #                                      start和end参数可以指定范围检查,可选>
     647 #strip([chars])                 <删除字符串前边和后边所有的空格,chars参数可以指定删除的字符,可选>
     648 #swapcase()                     <翻转字符串中的大小写>
     649 #title()                        <返回标题化(所有的单词都以大写开始,其余字母均小写)>
     650 #####>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     651 #translate(table)               <根据table的规则(可以由str.maketrans('a','b')定制)转换字符串只的字符>
     652 #                                     >>> str1 = 'ssssssaaaaasssss'
     653 #                                     >>> str1.translate(str.maketrans('s','b'))
     654 #                                         'bbbbbbaaaaabbbbb'
     655 ######>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     656 #upper()                        <转换字符串中的所有小写字符为大写>
     657 #zfill(width)                   <返回长度为width的字符串,原字符串右对齐,前边用0填充>
     658 #############################################################################################################
     659 
     660 ###########################################################################>>>
     661 #
     662 #以下代码复制到python(3.6.2rc2)下 按F5 可以正常执行,对比学习。QQ:124111294欢迎
     663 #
     664 #列表、元组操作
     665 #   ' '  在python里  ' ' 里的内容为 '字符串'  。不加 ' ' 为变量名
     666 #print()打印
     667 
     668 # 英文名字大全  http://ename.dict.cn/list/all/M
     669 
     670 names = ['Cahill','Teenglan','Eric','Peggie','Aalto','Baal','Sadie',
     671          'Gage','Hagan','Jack','Kaley','Mabel','Lacy','Nadine','Pace','Amy']
     672 
     673 #通过下标访问列表中的元素,下标从0开始计数
     674 print('---通过下标访问列表中的元素----')
     675 
     676 print(names[0])
     677 print(names[1],names[3],names[4])
     678 print(names[-1])
     679 print(names[-2])     #还可以倒着取
     680 print('                              ')
     681 
     682 print('---切片:取多个元素---')
     683 print(names[1:4])    #取下标1至下标4之间的数字,包括1,不包括4
     684 print(names[1:-1])   #取下标1至-1的值,不包括-1
     685 print('                              ')
     686 
     687 print('---切片:取下标1至-1的值,不包括-1---')
     688 print(names[0:3])    #取下标1至-1的值,不包括-1
     689 print(names[:3])     #如果是从头开始取,0可以忽略,跟上句效果一样
     690 print('                              ')
     691 
     692 print('---参数默认是0,-1就是倒数第1个----')
     693 print(names[:3])     #如果想取最后一个,必须不能写-1,只能这么写
     694 print(names[3:-1])   #这样-1(最后一个)就不会被包含了
     695 print('                              ')
     696 
     697 print('---参数默认是0----')
     698 print(names[0:5:2])    #后面的2是代表,每隔一个元素,就取一个,默认是1
     699 print(names[::3])      #参数默认是0,所以可以不写
     700 print('                              ')
     701 
     702 print('                              ')
     703 print('---追加names.append('')---每次只能追加一个')
     704 names.append('我是新来的',)
     705 print(names)
     706 print('                              ')
     707 
     708 
     709 print('                              ')
     710 print('---插入names.insert(下标号,名字)---每次只能插入一个')
     711 names.insert(3,'强行插队到下标位置3')
     712 print(names)
     713 print('                              ')
     714 
     715 print('                              ')
     716 print('---修改names[下标号]---')
     717 names[5] = '修改换人了'
     718 print(names)
     719 print('                              ')
     720 
     721 print('                              ')
     722 print('---删除names.remove('')---')
     723 print(names)
     724 names.remove('Eric')#删除指定元素名字
     725 print(names)
     726 print('                              ')
     727 
     728 print('---删除names.pop(下标号)---')
     729 print(names)
     730 names.pop(2)#删除指定列表中下标的值,默认-1
     731 print(names)
     732 print('                              ')
     733 
     734 print('                              ')
     735 print('---拷贝names.copy()---')
     736 print(names)
     737 name_copy = names.copy()
     738 print(name_copy)
     739 print('                              ')
     740 
     741 print('                              ')
     742 print('---排序names.sort()和翻转names.reverse()---')
     743 print('3.0里不同数据类型不能放在一起排序了')
     744 print(names)
     745 names.sort()
     746 print('                              ')
     747 print(names)
     748 names.reverse()
     749 print('                              ')
     750 print(names)
     751 
     752 print('                              ')
     753 print('---扩展names.extend(下标号)---')
     754 print('---数字默认为字符串""可以不加,但是数据类型却是整数--')
     755 print(names)
     756 b = ['3',9,'Amy','Amy','b的扩展']
     757 names.extend(b)
     758 print(names)
     759 print('                              ')
     760 
     761 
     762 print('                              ')
     763 print('---统计names.count(' ')---')
     764 print(names)
     765 cut = names.count('Amy')
     766 print('                              ')
     767 print(cut)
     768 print('                              ')
     769 
     770 
     771 print('                              ')
     772 print('---获取下标names.index(' ')---')
     773 print(names)
     774 idx = names.index('Amy')
     775 print('                              ')
     776 print(idx)
     777 print('                              ')
     778 
     779 ######################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     780 #以下代码复制到python(3.6.2rc2)下 按F5 可以正常执行,对比学习。QQ:124111294欢迎
     781 #元组
     782 #元组其实跟列表差不多,也是存一组数,只不是它一旦创建,便不能再修改,所以又叫只读列表
     783 #它只有2个方法,一个是count,一个是index,完毕。
     784 
     785 #列表的写法
     786 name = ['Cahill','Teenglan','Eric','Amy','Amy','Amy','5','8']
     787 
     788 #元组的写法
     789 names = ('Cahill','Teenglan','Eric','Amy','Amy','Amy','Amy','Amy')
     790 
     791 print('                              ')
     792 print('---统计names.count(' ')---')
     793 print(names)
     794 cut = names.count('Amy')
     795 print('                              ')
     796 print(cut)
     797 print('                              ')
     798 
     799 
     800 print('                              ')
     801 print('---获取下标names.index(' ')---')
     802 print(names)
     803 idx = names.index('Amy')
     804 print('                              ')
     805 print(idx)
     806 print('                              ')
     807 
     808 #元组不能追加等操作,会报错。
     809 names.append('新加')
     810 
     811 
     812 ######################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     813 #
     814 #以下代码复制到python(3.6.2rc2)下 按F5 可以正常执行,对比学习。QQ:124111294欢迎交流py
     815 
     816 #列表、元组操作浅copy(复制文件的快捷方式)和深copy(复制文件)
     817 
     818 #  names<变量名>  print()<打印>
     819 
     820 names = ['Cahill','Teenglan','Eric','Peggie','Aalto','Baal','Sadie',
     821          'Gage','Hagan','Jack','Kaley','Mabel','Lacy','Nadine','Pace','Amy']
     822 
     823 print('---原来列表的内容---')
     824 print(names)
     825 print('                              ')
     826 name2 = names.copy()
     827 
     828 print('---拷贝后列表的内容---')
     829 print(name2)
     830 print('                              ')
     831 
     832 print('---修改拷贝后列表里的内容---')
     833 names[2] =['修改了']
     834 print(names)
     835 print('                              ')
     836 print('---对比两个文件的内容---')
     837 print(name2)
     838 
     839 print('                              ')
     840 print('---列表打印-----------------------------------------------------')
     841 print('                              ')
     842 
     843 print('----跳跃打印不写默认值---- ')
     844 print(names[:])
     845 
     846 print('                              ')
     847 print('---跳跃打印---起始默认0:终止默认-1:跳跃默认1,默认值可以不写')
     848 print(names[1:-3:2])
     849 
     850 print('                              ')
     851 print('---列表循环打印---for i in names:--- ')
     852 print('                              ')
     853 for i in names:
     854     print (i)
     855 
     856 print('                              ')
     857 print('                              ')
     858 print('---新的实验浅pocy的用法----------------------------------------------------------------------------------------------------------------------------------------')
     859 print('                               ')
     860 print('---重新定义列表,在列表里添加列表---')
     861 name = ['Cahill','Peggie',['Ursula','Val',['Zena','Babb','Eric'],'Teenglan',],'Amy']
     862 
     863 print(name)
     864 print('                              ')
     865 
     866 print('                              ')
     867 name3 = name.copy()
     868 print('---拷贝后列表的内容---')
     869 print(name3)
     870 print('                              ')
     871 
     872 print('---修改拷贝后列表里的内容---')
     873 name[1] =['改第一层']
     874 name[2][1] =['第二层']
     875 name[2][2][0] =['列表里第三层']
     876 print(name)
     877 print('                              ')
     878 print('---对比两个文件的内容---')
     879 print(name3)
     880 print('                              ')
     881 
     882 print('浅pocy 只复制第一层内容,第二层开始只复制其快捷方式')
     883 print('                              ')
     884 
     885 print('                              ')
     886 print('---深copy的使用---copy.deepcopy(namett)------完全多层复制---尽量不用------------------')
     887 print('                              ')
     888 
     889 import copy
     890 namett = ['Cahill','Peggie',['Ursula','Val',['Zena','Babb','Eric'],'Teenglan',],'Amy']
     891 print('---重新定义列表---')
     892 print(namett)
     893 nameff = copy.deepcopy(namett)
     894 print('---拷贝后列表的内容---')
     895 print(nameff)
     896 print('                              ')
     897 
     898 print('                              ')
     899 print('---修改拷贝后列表里的内容---')
     900 namett[1] =['改第一层']
     901 namett[2][1] =['第二层']
     902 namett[2][2][0] =['列表里第三层']
     903 print(namett)
     904 print('---对比两个文件的内容---连第二第三层都没有跟着修改---')
     905 print(nameff)
     906 print('                              ')
     907 
     908 print('                              ')
     909 print('---深copy的使用---完全多层复制-------尽量不用----------------------------------')
     910 print('                              ')
     911 
     912 print('                              ')
     913 print('---新的实验-数值的pocy------------------------------------------------------------')
     914 print('数值的pocy---------------------------------------------------------')
     915 a = 1
     916 b = a
     917 print(a)
     918 print('                              ')
     919 print(b)
     920 print('                              ')
     921 
     922 print('重新定义a后的对比')
     923 a = 2
     924 print(a)
     925 print('                              ')
     926 print(b)
     927 print('                              ')
     928 
     929 print('                              ')
     930 print('                              ')
     931 print('---浅copy的用法-----------------------------------------------------------')
     932 print('                              ')
     933 #import<调用>   copy<函数拷贝模块>      list()<列表>     print()<打印>
     934 
     935 import copy
     936 person=['name',['saving',100]]
     937 
     938 p1=copy.copy(person)
     939 p2=person[:]
     940 p3=list(person)
     941       
     942 print(p1)
     943 print('                              ')      
     944 print(p2)
     945 print('                              ')
     946 print(p3)
     947 print('-----------------------------------------------------------------------------------')
     948 
     949 #
     950 #列表、元组操作
     951 #
     952 ######################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     953 
     954 
     955 ######################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     956 #以下代码复制到python(3.6.2rc2)下 按F5 可以正常执行,对比学习。QQ:124111294欢迎
     957 #<字典>
     958 #help(dict)
     959 #
     960 #
     961 #字典一种key - value 的数据类型,使用就像我们上学用的字典,通过笔划、字母来查对应页的详细内容。
     962 #
     963 #字典的特性:dict是无序的,key必须是唯一的,所以天生去重。字典里没有下标
     964 #
     965 #key-value
     966 #号码(下标):内容(可以重复)
     967 #
     968 
     969 print ('                                                ')
     970 print ('-------------创建字典的方法壹-------------------')
     971 dict1 = {'num2': 'LongZe', 'num3': 'XiaoZe','num4':'Maliy','num5':'Jack','num6':'Hagan','num7':'Cahill'}
     972 print(dict1)
     973 
     974 print ('                                                ')
     975 print ('-------------创建字典的方法二-------------------')
     976 dict2 = dict(鱼='让编程改变',书='读嘟嘟',笔='写写写')
     977 print(dict2)
     978 
     979 print ('                                                ')
     980 print ('-------------创建字典的方法三-------------------')
     981 dict3 =dict((('f',70),('i',50),('s',111),('h',104)))
     982 print(dict3)
     983 
     984 
     985 print('                                                 ')
     986 print('------------------------字典增加-----------------')
     987 dict1['yyy'] = '追加字典'
     988 print(dict1)
     989 
     990 print('                                                 ')
     991 print('------------------------字典修改-----------------')
     992 dict2[''] = '修改字典'
     993 print(dict2)
     994 
     995 print('                                                 ')
     996 print('------------------------字典删除方法壹-----------')
     997 dict1.pop('num3') 
     998 print(dict1)
     999 
    1000 print('                                                 ')
    1001 print('-----------py通用方法---字典删除方法二-----------')
    1002 del dict1['num4']
    1003 print(dict1)
    1004 
    1005 print('                                                 ')
    1006 print('------------字典删除方法三随机删除一个---------')
    1007 dict1.popitem()
    1008 print(dict1)
    1009 
    1010 
    1011 print('                                                 ')
    1012 print('------------------字典查找方法壹返回True---------')
    1013 'num2' in dict1
    1014 print('num2' in dict1)
    1015 
    1016 print('                                                 ')
    1017 print('---------------字典查找方法二----安全获取的方法--')
    1018 cz = dict1.get("num2")
    1019 print(cz)
    1020 
    1021 print('                                                 ')
    1022 print('------------------字典查找方法三-----------------')
    1023 dict1["num2"]
    1024 print(dict1["num2"])
    1025 
    1026 print ('如果一个key不存在,就报错,get不会,不存在只返回None')
    1027 
    1028 print('                                                 ')
    1029 print('                                                 ')
    1030 
    1031 #以下代码复制到python(3.6.2rc2)下 按F5 可以正常执行,对比学习。QQ:124111294欢迎
    1032 #多级字典嵌套及操作
    1033 av_catalog = {
    1034     "欧美":{
    1035         "www.youporn.com": ["很多免费的,世界最大的","质量一般"],
    1036         "www.pornhub.com": ["很多免费的,也很大","质量比yourporn高点"],
    1037         "letmedothis.com": ["多是自拍,高质量图片很多","资源不多,更新慢"],
    1038         "x-aryrtyrtt.com": ["质量很高,真的很高","全部收费,屌比请绕过"]
    1039     },
    1040     "日韩":{
    1041         "tokyo-hottuiyui": ["质量怎样不清楚","听说是收费的"]
    1042     },
    1043     "大陆":{
    1044         "1024hkhkhkhkhkh": ["全部免费,真好,好人一生平安","服务器在国外,慢"]
    1045     }
    1046 }
    1047 
    1048 av_catalog["大陆"]["1024"][1] += ",可以用爬虫爬下来"
    1049 
    1050 print(av_catalog["大陆"]["1024"])
    1051 #ouput 
    1052 ['全部免费,真好,好人一生平安', '服务器在国外,慢,可以用爬虫爬下来']
    1053 
    1054 #以下代码复制到python(3.6.2rc2)下 按F5 可以正常执行,对比学习。QQ:124111294欢迎
    1055 #字典的其它姿势
    1056 
    1057 #values 打印不包括keys所有的值
    1058 info.values()
    1059 dict_values(['LongZe Luola', 'XiaoZe Maliya'])
    1060 
    1061 #keys 打印所有keys的值
    1062 info.keys()
    1063 dict_keys(['stu1102', 'stu1103'])
    1064 
    1065 #setdefault 创建一个新的值,寻找某值,寻找不到创建
    1066 info.setdefault("stu1106","Alex")
    1067 'Alex'
    1068 info
    1069 {'stu1102': 'LongZe Luola', 'stu1103': 'XiaoZe Maliya', 'stu1106': 'Alex'}
    1070 info.setdefault("stu1102","龙泽萝拉")
    1071 'LongZe Luola'
    1072 info
    1073 {'stu1102': 'LongZe Luola', 'stu1103': 'XiaoZe Maliya', 'stu1106': 'Alex'}
    1074 
    1075 #update  合并两字典,交叉就覆盖,没有就添加。
    1076 info
    1077 {'stu1102': 'LongZe Luola', 'stu1103': 'XiaoZe Maliya', 'stu1106': 'Alex'}
    1078 b = {1:2,3:4, "stu1102":"龙泽萝拉"}
    1079 info.update(b)
    1080 info
    1081 {'stu1102': '龙泽萝拉', 1: 2, 3: 4, 'stu1103': 'XiaoZe Maliya', 'stu1106': 'Alex'}
    1082 
    1083 #items  字典转成列表 
    1084 info.items()
    1085 dict_items([('stu1102', '龙泽萝拉'), (1, 2), (3, 4), ('stu1103', 'XiaoZe Maliya'), ('stu1106', 'Alex')])
    1086 
    1087 #通过一个列表生成默认dict,有个没办法解释的坑,少用吧这个
    1088 #初始一个新的字典,每个KEY用同一个值<值等于浅COPY,类似快捷方式>
    1089 dict.fromkeys([1,2,3],'testd')
    1090 {1: 'testd', 2: 'testd', 3: 'testd'}
    1091 
    1092 
    1093 #以下代码复制到python(3.6.2rc2)下 按F5 可以正常执行,对比学习。QQ:124111294欢迎
    1094 #循环dict<字典>
    1095 
    1096 #方法1  #通过key寻找打印
    1097 for key in info:
    1098     print(key,info[key])
    1099 
    1100 #方法2  #把字典转成列表,然后打印列表里的('k','v')
    1101 for k,v in info.items(): #会先把dict转成list,数据大时莫用
    1102     print(k,v)
    1103 
    1104 ##################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    1105 
    1106     
    1107 #############################################################################>>>
    1108 #以下代码复制到python(3.6.2rc2)下 按F5 可以正常执行,对比学习。QQ:124111294欢迎
    1109 #
    1110 menu = {
    1111     '北京':{
    1112         '海淀':{
    1113             '五道口':{
    1114                 'soho':{},
    1115                 '网易':{},
    1116                 'google':{}
    1117             },
    1118             '中关村':{
    1119                 '爱奇艺':{},
    1120                 '汽车之家':{},
    1121                 'youku':{},
    1122             },
    1123             '上地':{
    1124                 '百度':{},
    1125             },
    1126         },
    1127         '昌平':{
    1128             '沙河':{
    1129                 '老男孩':{},
    1130                 '北航':{},
    1131             },
    1132             '天通苑':{},
    1133             '回龙观':{},
    1134         },
    1135         '朝阳':{},
    1136         '东城':{},
    1137     },
    1138     '上海':{
    1139         '闵行':{
    1140             "人民广场":{
    1141                 '炸鸡店':{}
    1142             }
    1143         },
    1144         '闸北':{
    1145             '火车战':{
    1146                 '携程':{}
    1147             }
    1148         },
    1149         '浦东':{},
    1150     },
    1151     '山东':{},
    1152 }
    1153 
    1154 # while not  exit_flag    <如果条件为假执行循环>
    1155 # for k in current_layer  <条件循环>
    1156 #        print(k)        <打印>
    1157 # input<输入>
    1158 # .strip()#strip([chars]) <删除字符串前边和后边所有的空格,chars参数可以指定删除的字符,可选>
    1159 # if <条件判断>
    1160 # layers.pop()  <删除>
    1161 # elif choice not  in  <条件判断>
    1162 # continue <跳出本次循环,重新循环>
    1163 # else <否则,当if条件不成立时执行>
    1164 # .append<附加>
    1165 # choice<选择>
    1166 
    1167 exit_flag = False
    1168 current_layer = menu
    1169 
    1170 layers = [menu]
    1171 
    1172 while not  exit_flag:
    1173     for k in current_layer:
    1174         print(k)
    1175     choice = input(">>:").strip()
    1176     if choice == "b":
    1177         current_layer = layers[-1]
    1178         #print("change to laster", current_layer)
    1179         layers.pop()
    1180     elif choice not  in current_layer:continue
    1181     else:
    1182         layers.append(current_layer)
    1183         current_layer = current_layer[choice]
    1184 #
    1185 #############################################################################>>>
    小部分老男孩pyton课程
     1 #集合是一个无序的,不重复的数据组合,它的主要作用如下:
     2 
     3 #去重,把一个列表变成集合,就自动去重了
     4 #关系测试,测试两组数据之前的交集、差集、并集等关系
     5 
     6 s = set([3,5,9,10])      #创建一个数值集合  
     7 t = set("Hello")         #创建一个唯一字符的集合  
     8 
     9 a = t | s          # t 和 s的并集  
    10 b = t & s          # t 和 s的交集  
    11 c = t - s          # 求差集(项在t中,但不在s中)  
    12 d = t ^ s          # 对称差集(项在t或s中,但不会同时出现在二者中)  
    13 
    14 #基本操作:  
    15 t.add('x')            # 添加一项  
    16 s.update([10,37,42])  # 在s中添加多项  
    17 
    18 #使用remove()可以删除一项:  
    19 t.remove('H')  
    20 len(s)  
    21 #set 的长度  
    22 x in s  
    23 #测试 x 是否是 s 的成员  
    24 x not in s  
    25 #测试 x 是否不是 s 的成员  
    26 s.issubset(t)  
    27 s <= t  
    28 #测试是否 s 中的每一个元素都在 t 中  
    29 s.issuperset(t)  
    30 s >= t  
    31 #测试是否 t 中的每一个元素都在 s 中  
    32 s.union(t)  
    33 s | t  
    34 #返回一个新的 set 包含 s 和 t 中的每一个元素  
    35 s.intersection(t)  
    36 s & t  
    37 #返回一个新的 set 包含 s 和 t 中的公共元素  
    38 s.difference(t)  
    39 s - t  
    40 #返回一个新的 set 包含 s 中有但是 t 中没有的元素  
    41 s.symmetric_difference(t)  
    42 s ^ t  
    43 #返回一个新的 set 包含 s 和 t 中不重复的元素  
    44 s.copy()  
    45 #返回 set “s”的一个浅复制
    集合
  • 相关阅读:
    L18 如何快速查找文档获得帮助
    L4 如何在XCode中下进行工作
    L17 怎么向应用程序商店提交应用
    Unity 烘焙材质到单一贴图的脚本
    关于用Max导出Unity3D使用的FBX文件流程注解
    计算两点之间的角度的代码
    Unity3d iOS基本优化和高级优化
    91SDK接入及游戏发布、更新指南
    UNITY3D与iOS交互解决方案
    Unity3d与iOS交互开发——接入平台SDK必备技能
  • 原文地址:https://www.cnblogs.com/ujq3/p/7281553.html
Copyright © 2011-2022 走看看