第一课 python基础一

时间:2022-01-11 20:03:41

一、python的介绍

1、python的应用

  1.python的创始人:吉多·范罗苏姆

  2.python应用的领域:云计算(openstack)、web开发、人工智能、系统运维、金融、图形GUI等

  3、发展史:python2/python3

2、python2x与python3x的区别:

  python2x:  1、源码重复,不规范;2、默认的编码是ascii(# _*_ encoding=utf:8 _*_);3、存在int、long类型 

  python3x:  1、整合源码,更清晰简单优美;2、默认的编码是UTF-8;  3、没有long类型,都是int类型,但是满足long的长度

  注:1.# _*_ encoding=utf-8 _*_     转成utf-8字符集    

    2.#!/usr/bin/env python    会去环境设置寻找python目录

3、python的应用领域:

  云计算(OpenStack)、web开发、科学运算、人工智能、系统运维、图形、金融GUI

4、python的发展史:

  python2.7目前还有公司在用

  python3.6最新版本,更新2的所有问题

5、 编译型与解释型

  编译型:将你的代码一次性全部编译成二进制,然后在运行。

    缺点:开发效率低,不能跨平台
    优先:执行效率高(代表c)
    代表:c
  解释型:当程序开始运行时,将代码一行一行的解释成二进制,执行。
    缺点:执行效率低
    优点:开发效率高,可以跨平台
    代表:python

第一课 python基础一

 

6、动态语言和静态语言

   动态类型语言:动态类型语言是指在运行期间才去做数据类型检查的语言

   静态类型语言:静态类型语言与动态类型语言刚好相反,它的数据类型是在编译其间检查的

7、强类型定义语言和弱类型定义语言

  强类型定义语言:强制数据类型定义的语言

  弱类型定义语言:数据类型可以被忽略的语言

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

8、python优点和缺点

  优点:Python的定位是“优雅”、“明确”、“简单”、开发效率非常高、高级语言、可移植性、可扩展性、可嵌入性

   缺点:速度慢、代码不能加密、线程不能利用多CPU问题

9、python的种类:(解释器)

  CPython:C语言开的的解释器

  IPython:是基于CPython之上的一个交互式解释器,与CPython一样,不一样的是:CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。

  JPython:java语言开发的解释器

  PyPy:是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度。

  IronPython:IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码

  小结:

  Python的解释器很多,但使用最广泛的还是CPython。如果要和Java或.Net平台交互,最好的办法不是用Jython或IronPython,而是通过网络调用来交互,确保各程序之间的独立性。

二、python环境

1、python的安装、2x和3x的安装

2、环境变量的配置

三、python的基础知识

1、运行python文件:cmd下python test.py 

2、解释器:.py文件中开头配置#!/usr/bin/env python   会去环境设置寻找python目录  添加权限后可以直接 ./test.py执行文件

3、编码:

  1.ASCII 只能用 8 位来表示一个字符(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号。(只包含字母和数字)

  2.Unicode(万国码)最少由 16 位来表示一个字符(2个字节),即:2 **16 = 65536,(代表所有字符和符号的编码,欧文等)
    注:此处说的的是最少2个字节,可能更多

  3.UTF-8 是对Unicode编码的压缩和优化:

    • ascii码中的内容用1个字节保存
    • 欧洲的字符用  2个字节保存
    • 东亚的字符用  3个字节保存

   4. 8位=1b   1024b = 1kb   1024kb = 1mb   1024mb = 1gb   1024gb = 1tb

   5.gbk 国标 只适用中文

4、注释

  当行注释:# 被注释内容

  多行注释:'''被注释内容''',或者"""被注释内容"""(可以保存格式,多行的方式展示数据)

5、变量

  1.变量的定义:把程序运行的中间结果临时的存在内存里,以便后续的代码调用

    name = "taibai"

  2、变量的定义规则:

    1. 变量名只能是 字母、数字或下划线的任意组合
    2. 变量名的第一个字符不能是数字
    3. 以下关键字不能声明为变量名:and 、as等
    4. 变量的定义要具有可描述性。
    5. 推荐方式:驼峰体AgeOfOldboy = 56    下划线age_of_oldboy = 56

   3、变量的赋值:

    name1 = "taibai"
    name2 = name1

6、常量

  1.常量即指不变的量

  2.AGE_OF_OLDBOY = 56  一般常量用大写

7、程序交互

  1、input 输入

  2、input输出的数据都是字符串

  3、程序是从上往下逐条执行

8、基本数据类型:

  1、整型 int (python3x中不在用long类型)  最长:2**64幂

  2、字符串类型(str)

    2.1、加单引号、双引号、多引号都被称为字符串

    2.2、单引号与双引号的区别:msg = "My name is Alex , I'm 22 years old!",如果是单引号,那么中间引号后面的数据不生效

    2.3、多引号什么作用呢?作用就是多行字符串必须用多引号;用双引号就会报错

    2.4、字符串拼接 a='san' b='shi'   c = a +b  print(c)输出 sanshi 注:字符串的拼接只能是双方都是字符串,不能跟数字或其它类型拼接

      2.5、乘接: print(a*4) 打印结果:sansansansan

    2.6、type测试数据类型

    2.7、用处:存储简单的少量的数据

  3、布尔值

      True / False

  4、格式化输出

    1、%s代表字符串占位符,还有%d,是数字占位符, %%输出%;

    2、动态替换格式化输出
    3、批量格式化有两种方式:1是元组,2是字典

9、基本运算符:算数运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算  

  1、算数运算  : + - * /   %  **   //

  2、比较运算符:==  !=  <>   <   >  >=   <=

  3、赋值运算符: =   +=  -=   *=  /=   %=   **=   //=

  4、逻辑运算符: and  or   not   

    4.1、在没有()的情况下not 优先级高于 and,and优先级高于or,即优先级关系为( )>not>and>or,同一优先级从左往右计算。

    4.2、 x or y , x为真,值就是x,x为假,值是y;

                x and y, x为真,值是y,x为假,值是x。

    4.3、in,not in 判断子元素是否在原字符串(字典,列表,集合)中

10、if

  1、单分支

     if 条件:

        满足条件后要执行的代码
 2、双分支:
    if 条件:
        满足条件执行代码
    else:
        if条件不满足就走这段
3、多分支
  if 条件:
      满足条件执行代码
  elif 条件:
      上面的条件不满足就走这个
  elif 条件:
      上面的条件不满足就走这个
  elif 条件:
      上面的条件不满足就走这个    
  else:
      上面所有的条件不满足就走这段

 4、嵌套条件:
    if 条件:
      if 条件:
       else:
 5、Python的缩进有以下几个原则:
    • *代码必须顶行写,即如果一行代码本身不依赖于任何条件,那它必须不能进行任何缩进
    • 同一级别的代码,缩进必须一致
    • 官方建议缩进用4个空格
11、while 循环语句
  
  1、while 条件:
      循环体
      条件为真继续执行
      条件为假终止执行
  2、break 循环终止语句
  3、continue 跳过本次的循环,不执行下面语句,循环执行上面语句;
  4、跳出循环的两种方式:1.改变条件,2.定义flag=True
  5、while else 两种情况:1、条件被break打断的不走else,2、当条件变成假的时候也不走else,3.只有正常执行完成的走else

12、for 循环: for循环可以遍历任何序列的项目,如一个列表或者一个字符串
    for iterating_var in sequence:       statements(s)
13、字典 dic = {'name':'zhangsan','age':18}

14、列表: list = [1,2,'a']