zoukankan      html  css  js  c++  java
  • Python 基础知识整理-1

    数据类型

    • Numbers(数字)   int -有符号整型 / long-长整型 / float-浮点型 /  complex-复数
    • String(字符串) 
    • List(列表)  []
    • Tuple(元组) ()
    • Dictionary(字典) {}

    数据类型转换

      数字:int(x),long(x),float(x),complex(x)

      字符串:str(x):x 转换为字符串  repr() :x 转换为表达式字符串  

      对象:eval(str):用来计算在字符串中的有效Python表达式,并返回一个对象

      元组:tuple(s):将序列 s 转换为一个元组

      列表:list(s):将序列 s 转换为一个列表

      集合:set(s) 转化成可变集合  frozenset(s):转换不可变集合

      字典:dict(d) :d 必须为序列(key,value)

       chr(x):整数转换为一个字符

      unichr(x):整数转换为Unicode字符

      ord(x):字符转换为它的整数值

      hex(x):整数转换为一个十六进制字符串

      oct(x):整数转换为一个八进制字符串

    变量赋值

      变量名=值  a=1

      多变量赋值  a=b=c=2  a, b, c = 1, 2, 'john'

    运算符

      算术运算符: +:加  -:减  *:乘  /:除  ** :幂  //:取整除

      比较元算符:==:等于  !=:不等于  <>:不等于  >:大于  >=:大于等于  <:小于  <=:小于等于

      赋值运算符:=:等于  +=: c+=b  c=c+b  -=:c-=b  c=c-b  *=:c*=b c=c*b  /=:c/=b  c=c/b  %=:c%=b c=c%b  **=:c**=b c=c**b  //=: c//=b c=c//b

      位运算符:&    |    ^    ~    <<     >>

      逻辑运算符:and   or   not

      成员运算符:in       not in 

      身份运算符:is  isnot

    运算符优先级别

      

    运算符描述
    ** 指数 (最高优先级)
    ~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
    * / % // 乘,除,取模和取整除
    + - 加法减法
    >> << 右移,左移运算符
    & 位 'AND'
    ^ | 位运算符
    <= < > >= 比较运算符
    <> == != 等于运算符
    = %= /= //= -= += *= **= 赋值运算符
    is is not 身份运算符
    in not in 成员运算符
    not or and 逻辑运算符

    什么是pyc文件
    pyc是一种二进制文件,是由py文件经过编译后,生成的文件,是一种byte code,py文件变成pyc文件后,加载的速度有所提高,而且pyc是一种跨平台的字节码,是由python的虚拟机来执行的,这个是类似于JAVA或者.NET的虚拟机的概念。pyc的内容,是跟python的版本相关的,不同版本编译后的pyc文件是不同的,2.5编译的pyc文件,2.4版本的python是无法执行的。

    为什么需要pyc文件
    这个需求太明显了,因为py文件是可以直接看到源码的,如果你是开发商业软件的话,不可能把源码也泄漏出去吧?所以就需要编译为pyc后,再发布出去。当然,pyc文件也是可以反编译的,不同版本编译后的pyc文件是不同的,根据python源码中提供的opcode,可以根据pyc文件反编译出py文件源码,网上可以找到一个反编译python2.3版本的pyc文件的工具,不过该工具从python2.4开始就要收费了,如果需要反编译出新版本的pyc文件的话,就需要自己动手了(俺暂时还没这能力^--^),不过你可以自己修改python的源代码中的opcode文件,重新编译python,从而防止不法分子的破解。

  • 相关阅读:
    fastDFS同步问题讨论
    Android开发(26)--补间动画(Tween)的实现
    android布局
    Linux特殊权限:SUID、SGID、SBIT
    如何使用ssh-keygen生成key
    Linux中环境变量到底写在哪个文件中?解析login shell 和 no-login shell
    使用ssh无密码登录
    github中的ssh配置
    PHP中的一个很好用的文件上传类
    [置顶] js模板方法的思路及实现
  • 原文地址:https://www.cnblogs.com/Linc2010/p/8289153.html
Copyright © 2011-2022 走看看