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,从而防止不法分子的破解。

  • 相关阅读:
    集合
    java正则表达式
    jvm系列(四):jvm知识点总结
    jvm系列(三):java GC算法 垃圾收集器
    Android IOS WebRTC 音视频开发总结(十六)-- 音频设备操作之opensl与jni
    Android IOS WebRTC 音视频开发总结(十五)-- 培训课程大纲
    Android IOS WebRTC 音视频开发总结(十四)-- sip和xmpp异同
    Android IOS WebRTC 音视频开发总结(十三)-- ice原理
    Android IOS WebRTC 音视频开发总结(十二)-- sufaceview
    Android IOS WebRTC 音视频开发总结(十一)-- stun&turn部署
  • 原文地址:https://www.cnblogs.com/Linc2010/p/8289153.html
Copyright © 2011-2022 走看看