zoukankan      html  css  js  c++  java
  • 我的Python分析成长之路2

                                                                                                                                                                                                            2018-12-29

    一、python数据类型:

      1.数字   int(整形) float(浮点型) complex(复数型)

      2.布尔值(bool)       真或假 True or False

      3.字符串(str)  

      4.byte型

      5.列表[list]

      6.元组(tuple)

      7.字典(dict)

      8.集合(set)

    二、二进制、八进制、十进制、十六进制

      bin() 将十进制转换成二进制   以0b开头      十六进制如何转化为二进制   我们需要先将十六进制先转化为十进制,然后将十进制转化为二

      oct() 将十进制转化为八进制  以0o开头

      hex() 将十进制转化为16    以0x开头

      

    1 print(bin(15))   #十进制转化为二进制
    2 print(hex(15))    #十进制转化为十六进制
    3 print(oct(15))    #十进制转化为八进制
    4 print(int(bin(15),2))  #二进制转化为十进制   
    5 print(bin(int(hex(12),16)))  #十六进制转二进制

    三、bytes与str转化 

        bytes ------------》str    解码  decode

        str----------------》bytes   编码  encoding  

    1 name ="xiaoming"
    2 name2 = "小明"
    3 print(name.encode(encoding='utf-8'))
    4 print(name2.encode(encoding='utf-8'))
    5 print(name2.encode(encoding='utf-8').decode('utf-8'))
    ord() 将字符转换成ascii值
    chr() 接受的是0-255,返回的是对应的ascii值的字符
    1 print(ord('c'))
    2 print(chr(65))

    四 列表 

      列表是一系列按照特定顺序排列的元素组成。列表中可以包含字母、数字、也可以将任何东西放入列表中,用[]表示,并用,分隔每个元素。

      

     1 l1 =["xiaoyun",'mingming','dahong','feiyu','chanchan']
     2 print(l1[0])  #查找列表中索引为的元素
     3 l1[1:3] #列表中索引为1、2的元素
     4 l1.append('xiaobai')  #增加一个元素
     5 l1.copy()   #浅copy
     6 l1.count("xiaoyun")   #统计列表中xiaoyun 的个数
     7 l1.clear()  #清空列表
     8 l1.extend([1,2,3])   #增加一个列表
     9 l1.insert(1,"lingling")  #在列表索引为1的位置插入lingling
    10 l1.index("mingming")  #列表中mingming的索引位置
    11 l = l1.pop()   #删除最后一个元素并返回
    12 l1.reverse()  #列表反序排列
    13 l1.remove("dahong")  #把dahong从列表中移除
    14 l1.sort()   #排序

    五、字符串操作

     1 name = "xiaoming"
     2 name.count("i")  #统计i的个数
     3 name.capitalize()  #将首字母改成大写
     4 name.center(20,"-")  #总共20个占位符将xiaoming放中间,其余用-填充
     5 name.endswith("g") #判断以什么结尾 返回一个bool值
     6 name.find('o') #返回o所在的索引,如果元素不存在则返回-1
     7 name.isdigit()#判断是否为数字
     8 name.index('i')  #第一个i的索引
     9 name.isalnum() #判断是否为字母
    10 name.isidentifier()#判断是否是一个合法标识符
    11 name.islower()#判断是否为小写
    12 name.istitle()  #判断首字母是否大写
    13 name.isupper()  #判断是否为大写
    14 name.ljust(20,"-") #左对齐 总共20个占位符,其余用-填充
    15 name.lower()  #改成小写
    16 name.lstrip()  #左边删除空格和回车
    17 name.replace('a','b')  #将a改成b
    18 name.rjust(20,'-')#右对齐,总共20个占位符,其余用-填充
    19 name.rstrip()  #右边删除空格和回车
    20 name.split('i')  #以'i’分割
    21 name.strip()  #删除空格和回车
    22 name.startswith("x")#判断是否以x开始
    23 name.swapcase()  #转换大小写
    24 name.title() #标题形式
    25 name.upper()  #改成大写
     1 '''
     2 购物车程序   
     3 1.启动程序后,让用户输入工资,然后打印商品列表
     4 2.允许用户根据编号购买商品
     5 3.用户选择商品后,来检查余额是否够,够就直接扣款,不够就提醒
     6 4.随时退出,退出时,打印它已购买的商品和余额
     7 '''
     8 shopping_list = [('IphoneXS',9000),('Mac Pro',11000),('watch',250),('huawei',3000)]
     9 shopping_car = []
    10 money = input("请输入您的钱:")
    11 while True:
    12     money =int(money)
    13     for i,shopping in enumerate(shopping_list):
    14         print(i,shopping)
    15     choice = input("请输入您要购买的商品:")
    16         # print(type(choice))
    17     if choice.isnumeric():
    18         choice = int(choice)
    19         if 0<= choice and choice<len(shopping_list):
    20             p_item = shopping_list[choice]
    21             if p_item[1]<money:
    22                 shopping_car.append(p_item)
    23                 money -= p_item[1]
    24                 print("%s 以加入购物车,还剩33[31;1m%s33[0m"%(p_item,money))
    25             else:
    26                 print("33[41;1m您还剩%s,不能购买33[0m"%money)
    27         else:
    28             print("invalid shopping")
    29 
    30     elif choice =='q':
    31         for i in shopping_car:
    32             print("您已购买%s,还剩%s"%(i,money))
    33             exit()
    View Code

    六、字典

      字典是一些列键-值对,每个键都与一个值相关联。你可以通过键来访问与之相关联的值。与键相关联的值可以是数字、字符串、列表乃至字典。事实上,可将任何python对象当作字典中的值。

     1 user_info ={'name':'xiaoming','age':18,'sex':'boy','job':'student'}
     2 user_info['name']  #查找name所对应的值
     3 del user_info['name']  #删除name信息
     4 user_info['name'] = "shanshan"  #添加name属性对应的值为shanshan
     5 user_info['name'] ='beibei'   #将name所对应的值改成beibei
     6 user_info.copy()  #浅copy
     7 user_info.clear()  #删除 所有信息
     8 user_info.fromkeys('hobby','swimming')#添加hobby属性,对应的值为swimming 如果添加的属性原来存在,就不覆盖
     9 user_info.get('d')   #获得name中的值 ,当字典中不存在时,返回None
    10 user_info.items()  #将键-值对以元组的形式放在字典列表中
    11 user_info.keys()  #字典的键
    12 user_info.pop('name')  #删除name属性 ,相当于del  当不传参数时,随机删除一个
    13 
    14 user_info.popitem()   #随机以元组的形式返回删除的键值对
    15 user_info.setdefault('name','swimming')   #添加hobby属性 ,如果原来字典中存在就不添加
    16 print(user_info)
    17 user_info1 = {"name":'zqq'}
    18 user_info.update(user_info1) #键user_info与user_info1字典合在一起,如果拥有相同的键,就会覆盖前面的值
    19 print(user_info)
    20 user_info.values()#字典的值
    21 for i in user_info:
    22     print(i,user_info[i])   #遍历所有的键,输出键和对应的值
    23 for k,v in user_info.items():
    24     print(k,v)   #分别遍历键和值,并输出
    View Code
     1 #省市县三级
     2 #只选择浙江 
     3 
     4 
     5 
     6 
     7 data ={'北京':{'海淀区':['圆明园','凤凰岭自然风景区'],
     8        '东城区':['王府井','地坛公园'],
     9        '丰台区':['千灵山','卢沟桥']},
    10  '上海':{'浦东新区':['上海迪士尼旅游区','上海浦东国际机场'],
    11        '虹口区':['鲁迅公园','和平公园'],
    12        '长宁区':['中山公园','近中山公园']},
    13  '浙江':{
    14      '杭州':{
    15          '上城区':['中豪望江国际','河坊街景区','八卦田遗址公园','南落马英体育公园'],
    16            '西湖区':['西溪湿地国家公园','西湖景区','雷峰塔景区','杭州植物园'],
    17            '滨江区':['六和文化公园','彩虹城','东方通信科技园','杭州高新金盛科技园']
    18      },
    19      '衢州':{
    20          '常山':['金钉子','三衢石林'],
    21         '江山':['江郎山','春雕花尖'],
    22            '龙游':['龙游石窟','乌龟山']
    23      },
    24      '金华':{'义乌':['五指山','大峰山'],
    25            '永康':['牛角尖','十八曲岭'],
    26            '武义':['牛头山国家公园','台山寺旅游区']}}}
    27 while True:
    28     for i in data:
    29         print(i)
    30     choice = input("请输入您要去的省:")
    31     if choice in data:
    32         while True:
    33             for i2 in data[choice]:
    34                 print(i2)
    35             choice2 = input("请输入您要去的市:")
    36             if choice2 in data[choice]:
    37                 for i3 in data[choice][choice2]:
    38                     print(i3)
    39                 choice3 = input("请输入你要去的县:")
    40                 if choice3 in data[choice][choice2]:
    41                     print(data[choice][choice2][choice3])
    42                 choice4 = input("请输入b返回上一层:")
    43                 if choice4 =='b':
    44                     pass
    45 
    46             elif choice2 == 'b':
    47                   break
    48     elif choice =='b':
    49         break
    50     else:
    51         print("没有这个选项,请重新选择")
    View Code
    1 ti = {"a":1,"d":3,"b":2}
    2 print(sorted(ti.items(),key=operator.itemgetter(1)))   #两种方式等价
    3 print(sorted(ti.items(),key=lambda x:x[1],reverse=True))
    View Code
  • 相关阅读:
    布局重用 include merge ViewStub
    AS 常用插件 MD
    AS 2.0新功能 Instant Run
    AS .ignore插件 忽略文件
    AS Gradle构建工具与Android plugin插件【大全】
    如何开通www国际域名个人网站
    倒计时实现方案总结 Timer Handler
    AS 进行单元测试
    RxJava 设计理念 观察者模式 Observable lambdas MD
    retrofit okhttp RxJava bk Gson Lambda 综合示例【配置】
  • 原文地址:https://www.cnblogs.com/Ezhizen/p/10193178.html
Copyright © 2011-2022 走看看