0
点赞
收藏
分享

微信扫一扫

Python学习笔记

玉新行者 2022-01-28 阅读 155

1、编译型:将源代码交给编译器,生成一个可执行文件,交给cpu运行(批发)效率高,跨平台性能弱(windows、linux、mac)

2、解释型:读取一行代码,翻译为机器语言,cpu运行。再读取下一行,循环往复。(零售)。

效率低,可跨平台

3、集成开发环境--PyCharm

4、运行python文件命令(ubuntu)

     $ xxx  {python    python_file_name}

5、每行仅执行一个动作

        严格缩进

6、  python2.x默认不支持中文,python3.x支持

        python2.x解释器名称是:python

        python3.x解释器名称是:pyhton3

                例:  $ xxx  {python    python_file_name}

                         $ xxx  {python3    python_file_name}

Python2.6是python2.x与python3.x的过渡版本,完全兼容2.x,又支持部分3.0语法和函数。

Python2.7是2.x系列最后一个版本。

7、IDE(集成开发环境)

        注释:  单行: #空格    ctrl + /

        多行:”””  program  “””(一对三个引号)

8、算数运算符

        +  -  *  /        

        //:除法取整   

        %:除法取余   

        **:幂(次方)

        字符串也可以参与运算,乘法

9、变量类型

        定义变量   变量名 = 变量值    #不需要指明数据类型。

        str、bool、int、float

        查看变量类型type(name)

10、 input()函数,接收用户键盘输入,接收类型为str

11、类型转换

        int(x)

        float(x)

12、%格式化操作符

        %s : 字符串

        %d : 整数            %06d : 6位整数,不足前面补0

        %f : 浮点型          %.2f : 保留两位小数

        %% : 输出%

13、一个tab或四个空格为一个缩进,tab与空格不要混用。建议空格。

14、if语句, 逻辑运算符(not在前,条件在后)

        age = 190

        if not age>18:

                    print("允许")

        elif age>18 and age <150:

                    print("不允许")

        else:

                    print("非活人")

#分支内部无代码时,可以用pass关键子占位,pass不会执行任何操作,保证程序正常执行

15、逻辑运算

        and、or、not

16、循环

        i = 0

        while i<=5:

                    print(i)

                    i+=1

17、转义字符

        \t 垂直方向对齐,制表符

        \n 换行

        \\ 反斜杠

        \’ 单引号

        \” 双引号

        \r 回车

18、函数定义。Ctrl+Q查看函数释义

        def 函数名():

                """注释"""

                代码

19、模块

        1>每一个py文件都是一个模块,使用import导入模块.  import 模块名

调用  模块名.方法名()    模块名.变量名

        2>被引入模块被执行时会被编译为字节码文件,.pyc文件,不必解释一行执行一行,运行效率大幅度提升

20、列表List(java中的数组)  [ ]定义

        name_list = [“zhangsan”,”lisi”,”wangwu”]

21、del关键子/函数,从内存中删除

        del  变量

        del()  

22、循环遍历列表

        for  变量 in 列表

          例:  name_list = ["a","c","b"]

                for  name  in  name_list :

                     print(name)

23、元组Tuple,( )定义。

        与列表不同之处在于元组内元素不可修改。

        索引也是[ ]

        name_tuple = ("a",1,2.76)

        print(name_tuple[0])

        num_tuple = (1,)  #定义一个元素时,末尾必须加都好否则就是整数类型不是元组类型

        print(num_tuple[0])

        可以使用for循环遍历

24、元组、列表互相转换

        list(元组)

        tuple(列表)

25、字典,键值对(类似Java的map)  { }定义

        xiaoming = {"name" : "xiaoming",

                            "age" : 18,

                            "sex" : True

                            }

        # key存在修改,不存在新增

        # 修改

        xiaoming["age"] = 19

        # 添加

        xiaoming["love"] = "music"

        # 删除

        xiaoming.pop("love")

        #获取

        print(xiaoming["name"])

        #获取

        print(xiaoming.get("name"))

        #合并字典,键重复则覆盖

        xiaoming.update(xiaoming_h)

        #循环遍历

        for key in xiaoming:

              print("%s %s" % (key,str(xiaoming[key])))

        print(xiaoming.keys())

        print(xiaoming.values())

集合set   x = {1,2,3}

集合中的值不允许重复,无序不提供索引操作

26、字符串遍历

        可以索引[ ],可以遍历

        str = "python"

        print(str[0])

        for s in str :

            print(s)

27、字符串常见操作

        index(str) : 查找字符串位置,没有报错

        find(str) : 查找字符串位置,没有返回-1

        replace(oldStr,newStr) : 返回新的字符串,但是不会修改原字符串内容

        startwith()、endwith() 以***开始/结尾

        lstrip()、rstrip()、strip()  删除左、右、两边空白字符

        split()、join()  分割、合并

        str[startIndex : endIndex : 步长] 切片,包前不包后,步长为正右边切,步长为负左边切(逆序)。列表和元组支持切片,字典不支持切片。

28、内置函数

        len()

        del()

        max()

        min()

29、特殊数据类型运算符(字符串、列表、元组)

        +    *    in    not in    >    >=    ==    <    <=    

        + : 产生新的变量,extend()、append()改变原来的变量

30、完整的for循环

        for  变量  in  集合

                循环体

        else:

                没有通过break退出循环。循环正常结束后,执行else。

                break退出循环,不执行else

31、TODO注释,标记未完成代码,完成后删掉TODO

        # TODO

32、变量引用,保存的时地址

        id(变量名)

33、函数的参数、返回值,传递的不是数据本身而是数据的引用(地址)

34、可变类型与不可变类型

        不可变:数字类型、字符串、元组

        可变类型:列表、字典、集合

35、可变类型不能作为字典的key值

        字典会首先对key进行hash,以决定在内存中如何保存字典中的数据,方便后续:增、删、改、查。

        hash(o)只能接收不可变类型作为参数。

36、全局变量与局部变量

        函数外定义全局变量,函数内对同名变量赋值,python会将其当作局部变量,函数内部修改其值,不会影响全局变量的值。

        如果希望函数内修改全局变量的值,要在函数内显示声明全局变量,使用global关键字

        例:  global num   # 声明全局变量

                 num = 99     # 赋值

37、函数返回多个值

        #  函数返回多个值---利用元组

        def measure():

              temp = 37

              wetness = 70

              return temp,wetness  # 返回元组,可以省略( )

        gl_temp,gl_wetness = measure()

        print(gl_temp)

        print(gl_wetness)

38、关于while、for何时执行else

        while、for语句正常执行结束后(不执行break),执行else

        (break和else只执行一个)

39、Python连接mongo进行操作

def get_mongo_connect():

    """ 获取mongo连接 """

    # mongodb://用户名:密码@IP:端口

    client = pymongo.MongoClient('mongodb://yourUserName:yourPwd@yourIp:yourPort/')

    # client = pymongo.MongoClient()

    return client

def close_mongo_connect(mongo_client):

    “”” 关闭mongo连接 ”””

    mongo_client.close()

获取数据库:coll = mongo_client.dbName.collName

40、聚合查询:

results = coll .aggregate([   
                {'$group': {'_id': '$house_url','count': {'$sum': 1},'house_id': {'$first': '$_id'}}},
                { '$match': {'count': { '$gt': 1}}}      ])


district_pipeline = [
          {'$group': {'_id': {'h_district':'$h_district','h_street':'$h_street'},
                      'count': {'$sum': 1},
                      'avg': {'$avg': '$h_per_area_price'}  }  },    ]

41、Python进入conda虚拟环境

        source activate tf

        #注:如要退出这个环境,只需要执行source deactivate tf

42、随机数种子:设置之后可以保证每次产生的随机数一致

                np.random.seed(116)

        生成随机列表,搭配seed可以实现随机时一一对应

                np.random.shuffle(x)

                np.random.seed(116)  # 使用相同的seed,保证输入特征和标签一一对应

                np.random.shuffle(x_data)

                np.random.seed(116)

                np.random.shuffle(y_data)

举报

相关推荐

0 条评论