欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python基础语法小知识点(坑点)

程序员文章站 2022-06-01 12:45:59
...

最近复习了一下python3的基础语法,期间也有不少坑和小知识点,例如:python3中的类,类中的构造函数,一维数组,二维数组,一行输入多个数等等等等,现在记录一下这些坑点。

  1. 一行输入多个数字。可以用如下方法,当个数比较少的时候,例如2,3,4都可以,int是数据类型
    n , m = map( int , input().split(' ') )
  2. 当数字比较多的时候,就要用到一行输入一维数组的形式了:list就是一个数组,x就是输入,这样输入多少个都可以 
    list = [int(x) for x in input().split()]
    
  3. 一维数组的初始化,初始化为0:
    dp = [ 0 for i in range( 0 , n ) ] 
  4. python3中print输出的时候会自动换行,怎么让他以空格结束呢,可以用如下方法:
    print( dp[i] , end = " " )
  5. 一维数组排序,可以用sort函数,一个参数是key,一个参数是排序规则,像下面这种的话就是按从大到小的降序排序,去掉reverse参数的时候,默认为false,就是升序,而且也没有根据某个key规则排序
    list.sort(reverse = True)

     

  6.  

    python3中的幂次方,**和自带的pow函数的效率其实都非常快,并不是直接for循环求出来的,而且可以取模

    pow( m , n , mod )  m的n次方且每次结果取模 

     

  7.  二维数组的初始化
    P = [[0] * n for i in range(m)]
    这种方法可以生成一个 n * m且全为0的二维数组。还有一种方法就是[[0] * m] * n但是在修改某一个数的时候会发生浅拷贝问题,然后直接会将某一行或者某一列的值全部修改掉。
  8. 保留小数输出
    print(format(x) , '.2f'))  保留了两位小数输出
    
  9. 类和构造函数
    class Circle:
        def __init__( self , x , y , r ):
            self.x = x
            self.y = y
            self.r = r

    init是构造函数,当需要某一个类实例化对象的时候就可以 c = Circle( 0 , 0 , 0 )

  10.  python3中没有++和--
  11. python3中允许0 <= x <= n 这种写法  and  和 or 表示且和或