• python基础类知识二


     

    推荐书籍


    三体
    百年孤独
    硅谷钢铁侠

     1、变量

    1.1.变量的作用

    • 重复调用
    • 存储数据的容器[内存存储]

    1.2.变量定义的规则

    1、变量名只能包含字符串、数字、_;

    2、变量名不能以数字开头;

    3、不要使用一些关键字做为变量名;(如:while,for,continue,break,if,else.........);

     1.3.变量的赋值

    变量名 = 变量值[变量名,'str',int等]

    name = 'sunny' 
    print (name) #3.0x
    同时赋值:
    name,password = 'sunny','123456'

    扩展常量一般表示方法(python中没有常量一说,只能区分)

    一般用全大写来表示

    NAME = 'sunny'

    2、PYC

    2.1 .pyc

    是字节码,python可以读懂的语言

    2.2 python的运行过程
    1.执行hello.py
    2.编译成hello.pyc
    3.python将hello.pyc编译成机器语言
    4.python将机器语言转换成hello.pyc
    5.将执行结果返回

     3、字符串str

       字符串的一些常用方法:
      
       
      #定义一个变量,变量值为字符串
      name = 'rain,sunny,wind'   print(name.capitalize()) #Rain,sunny,wind   print(name.center(30,"*")) #*******rain,sunny,wind********   print(name.count('i')) # 2 (统计这个变量中出现多少次i)   print(name.encode()) # b'rain,sunny,wind'   print(name.find('i')) #2 (查找i,并返回i对应的下标(索引) )   print(name.endswith('d')) #True   print(name.index('s')) #返回s对应的下标(索引)   print(name[2:]) #in,sunny,wind   print(name[::2]) #ri,un,id (步长)
     

     4、list列表

      

    #定义一个列表
    lists = ['rain','sunny','wind','ray']
    lists.insert(
    1,'sun') #['rain', 'sun', 'sunny', 'wind', 'ray'] lists.insert(0,'moon') #['moon', 'rain', 'sun', 'sunny', 'wind', 'ray'] lists.append('moon',) #['moon','rain', 'sun', 'sunny', 'wind', 'ray', 'moon'] print(lists.count('moon')) # 2 print(lists.reverse()) #None print(lists.sort()) #None print(lists.index('sunny')) # 5

    lists1 = ['2','3','4'] lists.extend(lists1) #['moon', 'moon', 'rain', 'ray', 'sun', 'sunny', 'wind', '2', '3', '4'] print(lists.pop()) # 4 (删除最后一个元素并返回该元素) lists.copy() #浅拷贝 print (lists)

    5、tuple元组

    #定义一个元组
    tup = ('rain','sunny','wind','ray') print(tup.index('rain')) # 0 (返回元素对应的下标值(索引)) print(tup.count('sunny')) # 1 (统计元素在元组出现了几次)

      

    6、dict 字典

    #定义一个字典

    dict1 = {109020123411200099 : {'name': 'rain', 'age': 18}, 323948093024309348 : {'name': 'sunny','age' : 20}} print(dict1.values()) #dict_values([{'age': 18, 'name': 'rain'}, {'age': 20, 'name': 'sunny'}]) print(dict1.keys()) #dict_keys([109020123411200099, 323948093024309348]) print(dict1.items()) #dict_items([(109020123411200099, {'name': 'rain', 'age': 18}), (323948093024309348, {'name': 'sunny', 'age': 20})]) print(dict1.pop(109020123411200099)) #{'name': 'rain', 'age': 18} (指定key并删除,并返回删除key的值) print(dict1.get(1090209)) # 如果key存在字典中,则返回values ,否则返回None print(dict1.popitem()) #随机删除一个key ,禁用 dict1.setdefault(903482908,'values not exists') #取一个key,如果不存在就返回设定的值,并添加到字典中 print(dict1.fromkeys([1,2,3,4,5],'values')) #{1: 'values', 2: 'values', 3: 'values', 4: 'values', 5: 'values'} print(323948093024309348 in dict1 ) # True(判断该key在字典中)
    #定义一个字典
    dict1 = {109020123411200099 : {'name': 'rain', 'age': 18}, 323948093024309348 : {'name': 'sunny','age' : 20}} print(dict1[109020123411200099]['name']) # rain (取字典中[key][key]的值) #enumerate 枚举函数 for index,k in enumerate(dict1): #循环字典,并赋值给k print(index,k) for index,k1 in enumerate(dict1[k]): #循环字典中的[key]的值 print (index,k,k1,dict1[k][k1])
    a = {'name':11,'age':11,}
    b = {'name':21,'names':22}
    b['a'] = 'abc'
    print(b)
    for i in a:
        b[i] = a[i]     #当b中不存在a中的keys值时,将b[key] = a[keys]
    print(b)
    实例

    练习:

    1 练习:元素分类
    2 有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。
    3 即: {'k1': 大于66 , 'k2': 小于66}

    回答:

    a=[11,22,33,44,55,66,77,88,99,90]
    dict1={'k1':[],'k2':[]}
    
    for i in a:
        if i >66:
            dict1['k1'].append(i)
        else:
            dict1['k2'].append(i)
    print dict1
    
    最好的是用下面的方法来动态的扩展字典:
    a=[11,22,33,44,55,66,77,88,99,90]
    dict1={}  #动态的增加字典
    
    for i in a:
        if i >66:
            if 'k1' in dict1.keys():
                dict1['k1'].append(i)
            else:
                dict1['k1'] = [i,]
        else:
            if 'k2' in dict1.keys():
                dict1['k2'].append(i)
            else:
                dict1['k2'] = [i,]
    print dict1

    7、计算

    7.1 算数运算

     

    a = 2
    b = 3
    # c = a + b   #  5
    # c = a - b   # -1
    # c = a * b   #  6
    c = a / b     #  0.6666666666666666
    c = a % b     #  2
    c = a ** b    #  8
    c = a // b    #  0
    print(c)

    7.2 比较运算符

    a = 2
    b = 3
    if a == b:
        print('1 - a 等于 b')
    else:
        print ('1 - a 不等于 b')
    
    其它类似 
    <> 3.x版本中已经废弃

     7.3 赋值运算

      
     
      7.4逻辑运算
     
      
     7.5身份运算
     
      
      7.6成员运算
     
     
       7.6位运算
     

        

    7.7 运算符优先级

  • 相关阅读:
    大话设计模式C++实现-第1章-简单工厂模式
    mac下的git的安装与简单的配置
    Execute failed: java.io.IOException: Cannot run program &quot;sdk-linux/build-tools/22.0.0/aapt&quot;: error=2
    UIScrollView 循环滚动,代码超简单
    字符编码的前世今生
    Android 4.4 KitKat 支持 u 盘功能
    Java Tread多线程(1)实现Runnable接口
    (hdu step 6.3.3)Air Raid(最小路径覆盖:求用最少边把全部的顶点都覆盖)
    每日算法之二十三:Reverse Nodes in k-Group
    Android4.0-4.4 加入实体按键振动支持的方法(java + smali版本号)
  • 原文地址:https://www.cnblogs.com/yxy-linux/p/5497844.html
Copyright © 2020-2023  润新知