码迷,mamicode.com
首页 > 编程语言 > 详细

python -- basic

时间:2017-12-17 18:08:59      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:不同   斐波纳契数列   ack   asc   购物   编码   java   拉丁字母   编译器   

# 写在开头(学习推荐)

  ~  alex li Day教程

  ~  廖雪峰教程

  ~  菜鸟python3教程

  ~  努力哥python3教程

  ~  黑马教程

  ~  实验楼以及慕课网

一、基础认知:

  1、python 是一门 动态 解释性 的 强类型定义 语言

    # 编译 与 解释:

      编译:把源程序的每一条语句都编译成机器语言,并保存成二进制文件,

         这样运行起来计算机可以直接以机器语言来运行此程序,速度很快

      解释:在程序执行时,才一条一条的解释成机器语言给计算机来执行

         所以运行起来不如编译后的快

    # 静态语言 与 动态语言

      静态类型:数据类型在编译期间检查,也就是说在写程序时要声明所有变量的数据类型

      动态类型:数据类型在运行期间检查也就是说,在用动态类型编程时,永远不用给任何变量指定数据类型

           语言会在你第一次赋值给变量的时候,在内部将数据类型记录下来

    # 强类型语言 与 弱类型语言

      强:一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么他就永远是这个数据类型

      弱:数据类型可以被忽略

  2、python 的运行过程

    1)、python 是一门解释型语言么?

      Yes. But what is the pyc?  "c" is "compiled"

    2)、python 到底是什么?

      其实 Python 和 Java / C# 一样,也是一门基于虚拟机的语言,我们先来从表面上简单地了解一下 Python 程序的运行过程吧。

      当我们在命令行中输入 python hello.py 时,其实是激活了 Python 的“解释器”,告诉“解释器”:你要开始工作了。

      可是在“解释”之前,其实执行的第一项工作和 Java 一样,是编译。

    3)、简述 python 的运行过程

      -- PyCodeObject && pyc

        - 我们在硬盘上看到的 pyc 自然不必多说,而其实 PyCodeObject 则是 Python 编译器真正编译成的结果。

      -- execution

        - 当 python 程序运行时,编译的结果则是保存在位于内存中的 PyCodeObject 中

        - 当 Python 程序运行结束时,Python 解释器则将 PyCodeObject 写回到 pyc 文件中

        - 当 python 程序第二次运行时,首先程序会在硬盘中寻找 pyc 文件,如果找到,则直接载入,否则就重复上面的过程

        - PyCodeObject 和 pyc 文件定位: pyc 文件其实是 PyCodeObject 的一种持久化保存方式

  3、python 的优缺点

    1)、优点

      -- 明确 简单 优雅

      -- 开发效率高:强大的第三方库,官方库有相应的模块支持,自己有可开发相应模块,大大降低开发周期,避免重复制造轮子

      -- 高级语言:无需考虑如何管理你的程序使用的内存一类的细节

      -- 可移植性:开源

      -- 可扩展性:如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的 Python 程序中使用它们。

      -- 可嵌入性:可以把 Python 嵌入你的 C / C++ 程序,从而向你的程序用户提供脚本功能。

    2)、缺点

      -- 速度慢

      -- 代码不可加密

      -- 线程不能利用多 CPU 问题!!!

  4、python 解释器

      -- CPython

      -- IPython

      -- PyPy !!

      -- Jython

      -- IronPython

  5、python 2.0 与 3.0

二、字符编码与转码:

   1、python 解释器在加载 .py 文件中的代码时,会对内容进行编码(默认 ascill )

   2、ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,

     主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256-1,所以,ASCII 码最多只能表示 255 个符号。

   3、显然 ASCII 码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode

   总结:

   技术分享图片

三、基础语法:

  1、python 保留字

    保留字就是关键字,不可以用作任何标识符名称

    技术分享图片

  2、变量 ( 变量的实质就是:在内存地址中真是存在 )

    下面的“x”就是内存地址中真是存在的

    name1 或者是 name2 都只是他的一个 “门牌号”而已

    再补充一点:后面出现的函数,其实实质也是 “变量”,可以打印出其内存地址

    1 name1 = "x"
    2 name2 = name1
    3 print(name1,name2)
    4 name1 = "xx"
    5 print(name1,name2)
    1 def val():
    2     print("chenjie")
    3 print(val)

  3、注释

    -- 行注释:#  >>快捷键 ctrl + /

    -- 段注释:‘‘‘ 内容 ‘‘‘

  4、end=“”

     1 print("print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 end = ‘ ‘ ")
     2 x = "a"
     3 y = "b"
     4 z = "-----"
     5 print(x)
     6 print(y)
     7 print(z)
     8 print(x,end=" ")
     9 print(y,end=" ")
    10 print(z,end=" ")

  5、行与缩进

    python最具特色的就是使用缩进来表示代码块,不需要使用任何的大括号{}

    缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数

  6、多行语句

    技术分享图片  技术分享图片

  7、同一行显示多条语句

    1 name = "chenjie" ; print(name)

  8、多个语句构成一个代码组

    缩进相同的一组语句构成一个代码块,我们称之为代码组

  9、用户输入

      -- input

      技术分享图片

      -- 等待用户输入

      技术分享图片

      -- 加密 input : getpass 方法

      技术分享图片

 

  10、字符串格式化输出

       #  字符串拼接输出

        技术分享图片

      #  %s 字符串 (str)    %d 整数 (int)    %f 浮点 (float)

        技术分享图片  技术分享图片

 

      #  format调用

        技术分享图片

        技术分享图片

        技术分享图片  技术分享图片

  11、三元运算

    result = 值1 if 条件 else 值2

    技术分享图片  PK  技术分享图片

  12、数据运算

    #  http://www.runoob.com/python/python-operators.html

    1)、算数运算

    2)、比较运算

    3)、赋值运算

    4)、逻辑运算

    5)、成员运算

    6)、身份运算

    7)、位运算

    8)、运算级优先级

    技术分享图片

    技术分享图片

    技术分享图片

    技术分享图片

    技术分享图片

    技术分享图片

    技术分享图片

  13、循环

    # 经典实例

      -- 斐波纳契数列

      -- 九九乘法表(五种类型输出)

      -- 0-100之间的和

      -- 质数判断

    1)、if……else、if……elif……else

    2)、while 判断条件、while……else、while……loop

    3)、for(遍历任何序列的项目)、for……break

    4)、break(跳出当前循环体 [for or while])

    5)、continue(跳过当前循环体中剩余的语句,然后继续下一轮循环)

    6)、pass(空语句,保持程序结构的完整性)

    7)、if else elif while for break continue pass 都可以混合使用 主要靠思维

    8)、range()函数:

      -- 遍历数字序列

      -- 用range指定区间的值

      -- range指定不同的增量,也就是步长

      # ……一大堆

  13、数据类型:

    1)、数字

      # http://www.runoob.com/python3/python3-number.html

      1. 整型 (int)、浮点数 (float)、复数 (complex)

      2. 数字运算

      3. 函数

        技术分享图片

        技术分享图片

        技术分享图片

        技术分享图片    

    2)、布尔值

      -- 真 或 假

      -- 1   或  0

    3)、字符串 (str)

      a. Python中的字符串用单引号 (‘) 或双引号 (\") 括起来 , 同时使用反斜杠(\)转义特殊字符

      b. 字符串的基础操作

       1 a = hello
       2 b = python
       3 print(a+b)
       4 print(a*2)
       5 print(a[0:-1])
       6 print(a[0])
       7 print(a[2:5])
       8 print(a[2:])
       9 print(a[:])
      10 if(hin a):
      11     print(h在变量a中)
      12 else:
      13     print(h不在变量a中)
      14 if(m not in a):
      15     print(m不在变量a中)
      16 else:
      17     print(m在变量a中)
      18 print(pyt\nhon);print(rpyt\nhon)

      c. 转义字符

        - 技术分享图片

      d. 字符串内建函数(40条)

        # http://www.runoob.com/python3/python3-string.html

        技术分享图片  技术分享图片

        技术分享图片  技术分享图片

        技术分享图片

    4)、列表

      

    5)、元组

    6)、字典

    7)、集合

    14、练习实例

      1)、购物车程序

      2)、

 

 

python -- basic

标签:不同   斐波纳契数列   ack   asc   购物   编码   java   拉丁字母   编译器   

原文地址:http://www.cnblogs.com/-cjzsr-/p/7599702.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!