zoukankan      html  css  js  c++  java
  • Python基础知识(一)+Pychram工具

    一:Python基础知识

      1.1变量

        python中的变量和java中的变量一样,

          x=3         #(表示把3赋值给3)

      1.2语句

        输出语句Pyhon中的输出语句是print(),java中的输出语言是:System.out.print();

      1.3获取用户输入:

        Python中用input()函数和raw_input()来进行获取用户输入

      1.4函数

        Pyhton中有很多函数列如:

      

      1.5 模块

        模块可以想象成导入到Pyhton以增强其功能的扩展,需要使用特殊的命令import来导入模块

         

        也可以使用from模块import函数,这种方式来导入具体需要使用的函数,sqrt函数用于计算一个数的平方根

        

        

       1.6  字符串

        单引号字符串和转义引号

        单引号和双引号的输出Hello world! 是没有区别的,但是如果输出的是Let's go!就需要使用转义号来进行转义列如:

        

        

      1.7  

    函数 描述

    abs(number)

    返回数字的绝对值

    cmath.sqrt

    返回平方根,也可以用于负数

    float(object)

    将字符串和数字转换为浮点数

    help()

    提供交互式帮助

    input(prompt)

    获取用户输入

    int(object)

    将字符串和数字转换为整数

    long(object)

    将字符串和数字转换为长整数型

    math.ceil(number)

    返回数的上入整数,返回值的类型为浮点数

    math.ceil(number)

    返回数的下入整数,返回值的类型为浮点数

    pow(x,y[,z])

    返回x的y次幂(所得结果对z取模)

    math.sqrt(number)

    返回平方根,不适用与负数

    raw_input(pormpt)

    获取用户输入,返回值的类型为字符串

    repr(object)

    返回值的字符串表示形式

    round(number[,ndigits])

    根据给定的精度对数字进行四舍五入

    二:列表和元组

      数据结构:数据结构式通过某种方式(列如对元素进行标号)组织在一起的数据元素的集合,在python中最基本的数据结构式序列,序列中的每一个元素被分配一个序号-即元素的位置也称为索引

       2.1 序列概览

        python中包含6中内建序列,最常用的两种类型:列表和元组,其他的内建序列类型有字符串,Unicode字符串,buffer对象和Xrange对象

        列表和元组的主要区别在于,列表可以修改,元组不能,

      2.2 通用序列操作

        所有序列类型都可以进行某些特定的操作,这些操作包括:索引(index),分片,加,乘以及检查某个元素是否属于序列的成员,python还有计算序列长度,找出最大元素和最小元素的内建函数

        2.2.1 索引

          序列中的所有元素都是有编号的-从0开始递增列如:

            

        2.2.2 分片

          与使用索引来访问单个元素类似,可以使用分片操作来访问一定范围内的元素,分片通过冒号相隔的两个索引来实现:

            

        2.2.3 序列相加

          通过使用加好可以进行序列的连接操作:

            

        2.2.4 乘法

          以数字x乘以一个序列会生成新的序列,二在新的序列中,原来的序列将被重复x次

            

        2.2.5成员资格

          为了检查一个元素是否在序列中,可以使用in运算符,列如:

            

        

        2.2.6 长度,最小值,和最大值

          

       2.3 列表 

        列表是可变的

        2.3.1 list函数

          

        2.3.2 基本的列表操作

          列表可以使用序列的保准操作,索引,分片,连接和乘法,但由于列表是可变的,就会有单独用于列表的方法

          1: 改变列表, 元素赋值

            注意不能为一个位置不存在的元素进行赋值,列如:

              

              

          2.删除元素

            从列表中删除元素也很容易,使用del语句来实现

              

          3.分片赋值

            

        2.3.3 列表方法

          方法是一个与某些对象有紧密关联的函数,对象可能是序列,数字,也可能是字符串或者其他类型的对象,方法可以这样进行调用:

            对象,方法(参数)

          列表提供的方法如下:

          1.append(用于在列表末尾追加新的对象)

            

          

          2.count用于统计某个元素在列表中出现的次数

            

          3.extend 用于在列表末尾一次性追加另一个序列中的多个值

            这个方法操作看起来很像连接操作,两者最主要区别在于:extend方法修改了被扩展的序列,而原始的连接操作则不然,它会返回一个全新的序列

              

             4.index 方法用于从列表中找出都个值第一个匹配项的索引位置

            

          5. insert 方法用于将对象插入到列表中:

            

          6.pop方法会移除列表中的一个元素(默认是最后一个),并且返回该元素的值

            使用pop方法可以实现一种常见的数据结构-栈,栈的原理就像是堆放盘子那样,只能在顶部放一个盘子,同样,也只能从顶部拿走一个盘子,最后被放入堆栈的最先被移除(这个原则称为LIFO,即后进先出)对于上述两个栈操作(放入和移除)他们被称为入栈和出栈,Python没有入栈方法,但可以使用append方法来代替,pop方法和append方法的操作结果恰好相反,如果入栈(或者追加)刚刚出栈的值,最后得到的结果还是原来的栈

            

             7.remove方法用于移除列表中某个值的第一个匹配项

            

          8.reverse方法将列表中的元素反向存放,该方法改变了列表但不返回值

            

          9.sort方法用于在原位置对列表进行排序,在原位置排序意味着改变原来的列表,从而让其中的元素能按一定的顺序排列,而不是简单地返回衣蛾已排序的列表副本

            

          10.高级排序

            如果希望元素能够按照特定的方式进行排序(而不是sort函数默认的方式),那么可以通过compare(x,y)的形式自定义比较函数,compare(x,y)函数会在x<y时返回负数等,定义好该函数后,就可以提供给sort方法作为参数了,内建函数cmp提供了比较函数的默认实现方式:

            sort方法有另外两个可选的参数----key和reverse,如果要使用它们,name就要通过名字来指定(这叫做关键字参数),参数key与参数cmp类似----必须提供一个在排序过程中使用的函数,然而,该函数并不是直接用来确定对象大小,而是为每个元素创建一个键,然后所有元素更加键来排序,因此,如果要根据元素的长度进行排序,那么可以使用len作为键函数

            另一个关键字参数reverse是简单的布尔值,用来指明列表是否要进行反向排序

            cmp,key,reverse参数都可以用于sorted函数,在多数情况下,为cmp或key提供自定义函数时非常有用的

              

          

            

          

        

  • 相关阅读:
    【BZOJ3533】向量集(SDOI2014)-线段树+凸壳+二分
    【BZOJ4869】相逢是问候(六省联考2017)-扩展欧拉定理+线段树
    【BZOJ4012】开店(HNOI2015)-动态点分治+set
    【BZOJ1095】捉迷藏(ZJOI2007)-动态点分治+堆
    【BZOJ2299】向量(HAOI2011)-裴蜀定理
    【BZOJ4942】整数(NOI2017)-线段树+压位
    【BZOJ3594】方伯伯的玉米田(SCOI2014)-DP+二维树状数组
    背包DP专题
    【2018.11.7】【luoguNOIp 热身赛】解题报告及总结
    【一天一DP计划】状压DP
  • 原文地址:https://www.cnblogs.com/cpxjl/p/9872738.html
Copyright © 2011-2022 走看看