美文网首页
python基础知识

python基础知识

作者: fqdndx | 来源:发表于2017-07-27 11:40 被阅读0次

    p2 p3 区别

    1. p2: 8/5=1

      p3: 8/5=1.6 8//5 = 1

    输入输出

    myinput = input("please input your name:")
    print(myinput)
    
    #转义字符的用法  r---原来的 b--字节 u--unicode
    
    string_1 = "c:\ndf"
    string_2 = r"c:\ndf\fasd\fasd\asfasd\asd"
    
    '''
        格式化输出
        %s ----------  string
        %d (%i) ----------- int
        %f   --------------  小数
    '''
    print('Name:%s,Age:%i,Job:%s' %(name,age,job))
    

    string

        str = 'hello'
        s = str[ : :2]  #从头到结束,间隔为2  s = 'hlo'
        s.split('')    #以''分割
        s.strip()     #去除两端的空格
        s.append('ad')  #在末尾追加
        s.insert(2,'asdasd')  #在索引 2 的地方插入
        s.count('asd')   #计算元素的次数
        s.remove('asdasd')  #删除指定元素
        s.pop   #删除最后一个
        s.sort()    #排序
        s.reverse()  #反转
    

    引号的区别

    string_3 = "ffasf\nfasdds"
    string_4 = 'asdfasd\nasdfasd'
    string_5 = '''sfasdff
        fasdf
        dasdfasd'''
    
    '''
    三引号也可以作为一种注释存在
    '''
    

    强制类型转换

    a = 100
    b = " asfas"
    print(str(a) + b)
    

    for 语句

    1. 正常情况
    sum = 0
    for eve in range(1, 101):  # 默认 range(1,101,1) 从 1到101,间距1
        sum = sum + eve
    print(sum)
    
    1. 特殊情况
    while(for):
          break   #跳出当前一层的循环
    else:    #当循环中break退出时,才会执行else的内容
      print()
    

    内建函数

    range : 生成范围内的int数 range(start , end , step)

    id : 查看变量的内存地址

    dir : 显示变量的可用的方法

    is type : 类型判断 type('asd') is str

    if 用法

    猜数字

        answer = 4
        print("welcome to guess number game!")
        while True:
            myinput = int(input("please input one number:"))
            if myinput == answer:
                print("right!")
                break
            elif myinput > answer:
                print("bigger!")
            else:
                print("smaller!")
    

    集合

    1)set

    set 使用 [ ] 括起

    1. 无序 不可重复

    ​```python
    a = [1, 2, 3, 4, 5, 6, 1]
    print(set(a)) #最后一个“1"被去重

    
    2. 初始化set:set({一个参数})   [],() 都可以
    
    ​```python
    print(set({1, 2, 3, 4, 5}))
    
    1. 增加(update) 和 删除(remove)
    set_date = set(['asd','as','a','b'])
    set_date.update('he')
    set_date.remove('a')
    print(set_date)
    

    2) tuple

    ()括起

    1. 一旦定义,不可修改 检索速度特别快
    a  = (1,2,3,4,(2,4,'s'),['sd','sd','fs'])
    print(a)
    
    1. 但使用切片,可以修改
    a = (1,2,3,4,5,6)
    a = (21,34.23) + a[2:]
    print(a)
    

    3) list

    []扩起

    1. 有序 可重复,与 set 不同
    a = [1,2,3,4,1,2,3,41,1,1,1,1]
    print(a)
    
    1. 可进行增删改查,与 tuple不同
    a[1] = "saasd"    #改
    a.append("sdsd")  #末尾增加
    a.remove('sdsd')  #删除,参数为要删除的内容
    del a[1] #删除,参数为要删除的位置
    print(a)
    
    1. 其他功能函数
    a = [1,2,3,4,5,6,7,4,3]
    print(max(a))
    print(min(a))
    print(len(a))
    
    a.sort()  #默认排序
    a.insert(1,'a')  #插入  list.insert(index,object)
    a.index('a') #索引 查找某个内容的索引值
    
    print(a)
    

    4) dist

    K-V对的无序集合 {}扩起

    a = {"1":"ad",2:"sads","time":"fq"}  #2组KV对, "1"->"ad" , 2->”sads
    print(a["1"])
    print(a[2])
    
    1. 增加(修改)一组数据
    a[3] = "sadasd"
    a['adf'] = 13434
    print(a)
    
    1. 删除一组数据
    del a[3]    #通过 key 删除一组数据
    a.clear()   #清空
    print(a)
    
    1. 例子: 元素去重
    a = [1,2,3,4,5,6,7,1,2,1,1,1]
    print(a)
    

    方法一 set()去重

    print(set(a))
    

    方法二 新建数组去重

    b = []
    for i in a:
        if i not in b:
            b.append(i)
    print(b)
    

    def 方法(函数)

    def name(argc):
    
    1. 无返回值
    def print_data(input_data):
        print(input_data)
    
    str1 = 'fq is best one'
    print_data(str1)
    
    1. 有一个返回值
    def sum_data(num1,num2):
        return num1 + num2
    
    a = 100
    b = 200
    print_data(sum_data(a,b))
    
    1. 多个返回值
    def test():
        a = 'sda'
        b = 1
        c = (1,3,"sd")
        return [a,b,c]
    
    print(test())
    print(test()[2])
    

    字符串进阶操作

    1.replace

    替换 : 不改变源字符串,返回替换后的字符串

    a = 'asdfsaf'
    b = a.replace("asd",'12')
    print(b)
    

    2. split

    切割 : 不改变源字符串,返回替换后的字符串

    a = 'abcabcabc'
    b = a.split('c')
    print(b)
    

    文档操作

    open函数:

    常用参数:

        open( path , mode , encoding)
    

    其中:

    ​ pah: 为文件的路径, 如 'C:/BT/text.txt'。若直接为文件名,则是python源文件所在的目录下

    ​ mode: r ----读 w ---- 覆盖写 a ------追加写

    ​ w+ , r+ , a+ ----------读写模式打开

    ​ rb ----- 二进制(字节)读 wb ------- 二进制(字节)覆盖写 ab ------- 二进制(字节)追加写

    ​ wb+ ,rb+, ab+ -------- 二进制(字节)读写模式

    ​ encoding : 编码格式 GBK 或 utf-8

    eg:

        open('E:/' + data_title + '.html', "w",encoding='utf-8')
    

    读取

    '''
        read()  -------  将文件的内容全部放入一个string中
        readline() ----------读取文件中的一行
        readlines() ----------对文件按行读取,将每一行的数据作为一个string元素放入list中
    '''
    f = open("test.txt")
    # print(f.read())
    #print(f.readline())
    print(f.readlines())
    f.close()
    

    写入

    '''
        write:  常规写入
        writelines:  将参数作为list集合写入
    '''
    #f = open("test.txt",'w')   #覆盖写入
    f = open("test.txt",'a')   #追加写入
    
    f.write('asdfa')
    f.writelines(['[fadadaf','\nasdfadasd'])
    f.close()
    

    使用 with 可以不用 f.close()

    with open("test.txt") as f:
        print(f.read())
    

    decode 和 encoode

    decode ---- 字节 ---》 目标编码(utf-8 gbk)
    encode ---- 现有编码(utf-8 gbk) ----》 字节

      a = '你好呀'
      print(a.encode('utf-8'))    #将 string 转换为 字节
      print(a.encode('utf-8').decode('utf-8'))  #将 string 转换为 字节 在转换为 string
    

    相关文章

      网友评论

          本文标题:python基础知识

          本文链接:https://www.haomeiwen.com/subject/spkzkxtx.html