zoukankan      html  css  js  c++  java
  • 【颓废篇】人生苦短, 我用python(二)

    当时产生学习python的欲望便是在看dalao们写脚本的时候…
    虽然dalao们好像用的是js来着..
    不过现在好像很多爬虫也可以用python写啊…
    所以学python没什么不妥.
    而且csdn整天推广告说python怎么怎么有前途不是..

    那就好好学呗.

    • python的long类型超赞! 因为是自带高精的… 不知道比C++高到哪里去了(单指高精方面
      而且好像乘法是自带fft的… 碾压自己现在都写的不熟的辣鸡高精十条街啊…
      所以我们就可以去水FFT的模板题

      n=int(input())
      a=int(input())
      b=int(input())
      print(a*b)

      这代码好像还算长的…
      不过用long的时候数字后面记得加个L哦~

    • python的除和模是挺迷的, 因为python的除法会往负无穷取整.

      >>>-1/3
      -1

      这就和C/C++不是很一样… 但两者又都遵守

      a%b=ab(a/b)

      这一点, 所以取模也挺不一样的
      >>>-1%3
      2

      当然只对于负数会出现一些问题 遇到的时候要注意一下.
      哦 对了 python里面小数也可以有整除和取模这种操作:

      >>>4.7//3.5 # 要用两个除号
      1.0 #结果是浮点型的
      >>>4.7%3.5
      1.2

      还有乘方

      >>>16**15
      1152921504606846976

      然而并没有++和–这样的操作让C++选手不很习惯..

    • 自己打代码的时候常常产生C++的习惯, 但是python声明变量是不带类型的..

        a=3 # 这样就行了 前面不要写int
    • string list dict基本就对应着std::string std::vector std::map了 背一下操作名就行了(比如append)
      而元组这东西就有点诡了, 说是像结构体但并不能修改…
      不过还是挺有用的(比如当多重返回值)

    • 强转的话函数式强转就行了

    a='Hello, World!'
    b=2333
    c=a+str(2) #字符串的加法表示连接
    print c
    # 下面是结果
    Hello, World!2333
    • python里面的判断是有
      1. if
      2. elif (else if的abbr.)
      3. else
        几种的, 记得后面要加”:” 然后不用{}括程序块而是用缩进.
        所以python程序写大了要准备游标卡尺...

    栗子

    a=3
    b=2
    if(a>b):
        print 'a>b'
    elif(a==b):
        print 'a==b'
        print 'a-b=0' #不管几行 只要是一层的 缩进一样就表示了
    else: #每个地方都要打':'
        print 'a<b'

    哦 然后有一种操作叫pass就是空语句 为了保持结构的完整而设计

    a=3
    b=2
    if(a>b):
        pass #什么都不输出
    else:
        print 'a<b'
    • 循环的话python中有for循环和while循环, 但是没有do..while循环
      然后还有熟悉的break continue 然后还有新伙伴pass
      这个for循环搭配list有一种foreach的感觉
    l=[1,3,5,7,9]
    s=0
    for i in l: #':'
        s+=i
    print s 

    而常见的for循环

    for(int i=1;i<=10;i=i+2);

    则大概长这样

    for i in range(1,11,2): #python的range左闭右开 最后一个参数表示步进
        pass

    while循环就很普通没啥说的了

    • python中各种序列很有意思, 这里以一个list为例
    >>>l=[1,2,3,4,5,6,7]
    >>>l[2] #python下标从0开始
    3
    >>>l[-2] #表示读取倒数第二个元素
    6
    >>>l[3:6] #截取 依然左闭右开 结果类型还是个list
    [4,5,6]
    >>>l[:4] #还可省略前面或后面的数字
    [1,2,3,4]
    >>>a=4
    >>>l[:a] #还可以传变量
    [1,2,3,4]
    >>>l[-10] #越界会报错
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    IndexError: list index out of range
    >>>l[15:19] #截取越界并不会报错 会截出空序列
    []
    >>>len(l) #len函数获取长度
    7
    >>>max(l) #还能查询最大值 最小值
    >>>7
    >>>l=[2,3,1,4,6,5]
    >>>l.sort() #list还封装了sort reverse等方法
    >>>l
    [1,2,3,4,5,6]

    是不是觉得功能很强大呢!
    然后是一些字典(dict)的知识, 比如

    • 这是个map而不是multimap
    • 键值必须不可变. 所以可以是数字、字符串、元组, 但不能是列表.
    • 查询的时候用封装过的方法就好了
    #coding=utf-8
    d={
        'Name':'Enzymii',
        'Age':3,
        'Height':2.25,
        'Letters':['E','n','z','y','m','i','i']
    }
    
    print d.get('Name')
    print d.has_key('Weight')
    print d.values()
    # 下面是结果
    Enzymii
    False
    [3, ['E', 'n', 'z', 'y', 'm', 'i', 'i'], 'Enzymii', 2.25]

    所以还是挺好用的… (尤其是用来提交表单的时候~

    就先写这些吧, 都是写很简单很基础的东西…

  • 相关阅读:
    javaWeb 使用jsp开发 if else 标签
    javaWeb 使用jsp开发 if 标签
    javaWeb 使用jsp标签进行防盗链
    javaWeb 在jsp中 使用自定义标签输出访问者IP
    javaWeb el表达式和jstl快速入门案例
    javaWeb 使用 jsp 和 javaBean 实现计算器功能
    javaWeb 使用cookie显示上次访问网站时间
    javaWeb 使用cookie显示商品浏览记录
    javaWeb request乱码处理
    ubunu下用命令设置壁纸
  • 原文地址:https://www.cnblogs.com/enzymii/p/8412109.html
Copyright © 2011-2022 走看看