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

     

  • 相关阅读:
    常用函数
    PostgreSql那点事(文件读取写入、命令执行的办法)
    如何检测Windows中的横向渗透攻击
    小米笔记本pro版bios经常找不到硬盘
    grunt教程
    nodejs廖雪峰大神教程
    ClickOnce是什么?如何使用?
    asp.net中的ORA-12154: TNS: 无法解析指定的连接标识符
    未能加载文件或程序集 ICSharpCode.SharpZipLib
    PL/SQL 循环
  • 原文地址:https://www.cnblogs.com/vijing/p/10536733.html
Copyright © 2011-2022 走看看