zoukankan      html  css  js  c++  java
  • python基础

    本文主要记录和总结在学习和使用python过程一些基础知识

    1.缩进代替花括号,注意利用编辑器的自动缩进功能

    x=50
    y=20
    if x>100:
        y=x+20
    else:
        y=x-20

    2.单行注释和多行注释

    #这是单行注释,快捷键ctrl+/
    '''
    多行注释第一种方法
    第一行注释
    第二行注释
    '''
    """
    多行注释第二种方法
    第三行注释
    第四行注释
    """

    3.基本输入

    x = input("请输入x")

    4.输出

    x=100
    print(x,1,'ab') #输出多个默认用空格隔开
    #输出结果:100 1 ab
    print(x,1,'ab',sep='--')#用sep参数指定分隔符号或字符串
    #输出结果:100--1--ab

    5.输出到文件

    file1 = open('test.txt','w')
    print(1,'ab',file=file1)
    file1.close()
    open('test.txt','r').read()

    6.数字

    print(0b101,0o734,0xec3)
    #输出结果:5 476 3779
    
    # int函数可以用于转换进制,第一个参数为整数字符串 ,第二个参数表示进制
    print( int('111'),int('111',2),int('111',8),int('111',16),int('111',5) ) 
    #输出结果:111 7 73 273 31
    
    # 内置函数bin(x)、oct(x)和hex(x)用于将整数转换为对应进制的字符串
    print(bin(50),oct(50),hex(50))
    #输出结果: 0b110010 0o62 0x32

    7.浮点

    x=3.4
    y=0.17e+10
    z=1.92e-3
    i=.3
    j=3.
    print(x, y, z, i, j)
    #输出结果:3.4 1700000000.0 0.00192 0.3 3.0

    8.复数

    c1 = complex(3,2)
    c2 = complex(4,3)
    c3 = 3+2j #也可直接这么写
    print( c1, c2, c1*c2, c2-c3 )
    #输出结果:(3+2j)  (4+3j)  (6+17j)  (1+1j)

    9.布尔类型以成为Python的一种正式的数据类型。布尔类型有两个值True和False,

     分别用于表示逻辑真和逻辑假。True和False是两个预定义的内部变量。

     从面向对象的角度看,bool类型是int类型的子类,True和False是bool类型的实例

    print(type(True))   # type() 返回输入的变量类型
    print(True+3)
    print(isinstance(True,int)) # isinstance(object,type) 来判断一个对象是否是一个已知的类型
    print(True is 1)
    
    #结果:
    """
    <class 'bool'>
    4
    True
    False
    """

    10.数值的自动转换

     在遇到不同类型的数字参数运算时,Python总是将简单的类型转换为复杂的类型

    print(2+3.5,type(2+3.5))
    print(2+3.5+(2+3j),type(2+3.5+(2+3j)))
    
    #结果:
    """
    5.5  <class 'float'>
    (7.5+3j)  <class 'complex'>
    """

    11.真除法/和floor除法 //以及求余(模运算)

    5//2,5/2,5%2,10%6
    #2, 2.5, 1, 4

    12.位运算和移位运算

    # & 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
    # | 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。
    # ~ 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 。~x 类似于 -x-1
    # ^ 按位异或运算符:当两对应的二进位相异时,结果为1
    # << 左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0。
    # >> 右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数
    print(~5,4^5,-4^5)
    print(1<<2,-1<<2,8>>2)
    """
    -6 1 -7
     4 -4 2
    """

    13.比较和连续比较

    a=0;b=4;c=5
    2 >3,a < b < c,a< b >c #相当于 a<b and b>c
    """
    False, True, False
    """

    14.小数

    # 因为计算机中硬件限制,浮点数有一个缺点就是缺乏精确度
    # 大多数的float型数值并不能以精确的形式在计算机中表示出来,
    # 只能以十分接近原数值的形式储存,因此在计算过程中会出现小的误差。
    print(0.3+0.3+ 0.3) #0.8999999999999999
    0.3-0.1-0.1         #0.09999999999999998

    15. 数学函数

    a=5
    print( abs(-5),max(1,3,7,2),sum({3,4,7}),pow(3,2),round(1.56),round(1.49),eval('a*a+1') )
    import math
    math.pi, math.e, math.inf,math.sqrt(9.7), math.ceil(2.3),math.floor(2.3)
    """
    5 7 14 9 2 1 26
    3.141592653589793, 2.718281828459045, inf, 3.1144823004794873, 3, 2
    """

    16.is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等

    x = 5
    y = 5
    print(x == y)
    print(x is y)
    print(id(x)) #id() 函数用于获取对象的内存地址
    print(id(y))
    
    x = (1, 2, 3)
    y = (1, 2, 3)
    print(x == y)
    print(x is y)
    print(id(x))
    print(id(y))
    """
    True
    True
    1543528736
    1543528736
    
    True
    False
    1724058837784
    1724058750624
    """

    17.序列赋值

    #元组、列表赋值
    x,y=5,10
    x,y=(5,10)
    x,y=[5,10]
    print(x,y)
    #字符串赋值
    x,y,z='abc'
    print(x,y,z,type(x),type(y))
    
    """
    5 10
    a b c <class 'str'> <class 'str'>
    """

    18.变量名前用*号的情况

    x,*y=1,2,3,4,5,6,7
    print(x,y)
    x,*y,z=3,6,9,12,15
    print(x,y,z)
    """
    1 [2, 3, 4, 5, 6, 7]
    3 [6, 9, 12] 15
    """

    19.变量共享引用后的情况

    x = [1,2,3]
    #共享数据
    y=x
    print(x,y)
    x[0]=99
    y[1]=88
    print(x,y)
    
    #使用copy则会复制一份数据
    a=[1,2,3]
    b=a.copy()
    a[0]=99
    b[1]=88
    print(a,b)
    """
    [1, 2, 3] [1, 2, 3]
    [99, 88, 3] [99, 88, 3]
    [99, 2, 3] [1, 88, 3]
    """

     end

     

  • 相关阅读:
    Leetcode 92. Reverse Linked List II
    Leetcode 206. Reverse Linked List
    Leetcode 763. Partition Labels
    Leetcode 746. Min Cost Climbing Stairs
    Leetcode 759. Employee Free Time
    Leetcode 763. Partition Labels
    搭建数据仓库第09篇:物理建模
    Python进阶篇:Socket多线程
    Python进阶篇:文件系统的操作
    搭建数据仓库第08篇:逻辑建模–5–维度建模核心之一致性维度2
  • 原文地址:https://www.cnblogs.com/vijing/p/10536733.html
Copyright © 2011-2022 走看看