三、Python安装与初识

(一)开发语言


1、高级语言

  • 设计目标是让编程更加接近人类自然语言和数学表达,从而降低学习难度和提高开发效率。与机器语言和汇编语言相比,高级语言不依赖于具体的硬件结构,具有更高的可读性和可移植性
  • 生成字节码,背后是C语言
  • 常见高级语言:
  • Java:面向对象,最大的特点是跨平台性,编写的代码可以在多种操作系统上运行,可前端可后台,丰富的类库和框架,如Spring、Hibernate等,可以大大提高开发效率,执行效率比Python高,做企业级应用更成熟
  • Python:简洁、易读且功能强大,语法简洁易懂,上手容易,可前端可后台,开发效率比Java高,执行效率低于Java,Python应用领域广泛,如Web开发、数据分析、机器学习等领域。
  • JavaScript:主要用于Web前端开发,是前端技术的重要组成部分。它可以实现动态交互效果,为网页提供丰富的功能。
  • PHP:只适用于写网站页面。
  • C#:面向对象,主要用于Windows平台的开发
  • C++:面向对象,继承了C语言的优点并进行了扩展。它支持多种编程范式,包括过程化、面向对象等。C++具有高效性和灵活性,特别适用于系统开发、游戏开发等领域。
  • Go:又称Golang,是由Google开发的一种静态强类型、编译型语言。它具有内存安全、垃圾回收、结构形态及CSP-style并发计算等特性,适用于系统编程、云计算和分布式系统等领域。
  • ruby:动态、面向对象,语法优雅和高效,应用于Web开发,尤其是Ruby on Rails框架。
  • ...

2、低级语言 

  • 与计算机硬件直接交互的编程语言,其指令集和操作与计算机的硬件密切相关。相较于高级语言,低级语言更接近计算机底层,有以下特点:
  • 编写和维护难度大。
  • 生成机器码,需要注意内存管理
  • 直接控制硬件:低级语言提供了对计算机硬件的直接访问和控制的能力。
  • 高效率:由于低级语言更接近计算机硬件,它可以更有效地利用计算机的资源,执行速度更快。
  • 灵活性强:低级语言提供了更高度的编程灵活性,程序员可以根据需求自定义指令和数据结构4
  • 适合底层开发:低级语言特别适合进行底层开发,例如操作系统、设备驱动程序和嵌入式系统的开发

 常见低级语言:

  • C语言
  • 汇编语言
  • 机器语言

3、Python种类:对程序员而言只需要学会一套规则。 

1)通常意义说的Python都是CPython
2)JPython
3)IronPython
4)JavaScriptPython
5)RubyPython
6)……
7)pypy:CPython开发的Python,相当于先执行一次得到机器码,再执行机器码,速度最快,但功能还不够稳定。

4、python安装 

Python解释器(内存管理,垃圾回收机制) 版本Python2和Python3:

  • Windows:官网安装
  • Linux:详查https://www.cnblogs.com/wupeiqi/articles/5433925.html 

(二)python初识


1、源文件类型 

源文件后缀名在解释器运行时可以随意,建议.py,但是导入模块必须是.py

2、命令行交互模式

设置好环境变量,进入控制台直接输入命令python2或python3,即可进入交互界面 

 3、运行python程序

  • 控制台直接输入命令python 源文件
  • 利用IDE工具,右键菜单点击run选项

4、源文件格式

4.1 源文件头部说明 

  • #!/usr/bin/env python:首行(可选),Linux中用./.py源文件的命令运行(需要先加可执行权限)Python解释器时,指定Python解释器路径
  • # -*- coding:utf8 -*-:次行(可选),指定字符编码为utf8(utf8能用多少位表示这个字符就用多少位,中文用3个字节表示,unicode万国码,至少用16位表示,gbk专中国用,2个字节表示中文),Python3默认是utf8,不用写,Python2默认使用ASCII编码(8位表示,最多表示25个字符),不能识别中文,要写这句
  • 注1:这两行必须紧挨着写在文件头部,如果中间穿插代码,下面的就不生效了。
  • 注2:utf8可以和unicode之间转换,gbk也可以和unicode之间转换,但utf8和gbk之间不能直接转换,Python3内部会做utf8到unicode,再从unicode到gbk的转换,所以用gbk的终端打开utf8的源文件可以正常显示中文,而Python2内部没做这个转换,所以中文会显示乱码。
  • 注3:字符串前面加u,代表用原生的utf8编码,中文就不会显示乱码 

 4.2 注释

解释代码的内容,不会影响程序运行:

  • 单行注释:#注释内容
  • 多行注释:"""注释内容"""

4.3 变量名

由字母、数字、下划线组成的标识符,不能以数字开头,不能是关键字,不能与内置的变量名和方法名重复,尽量有意义,多单词用_连接。

4.4 关键字

在Python中有特殊含义的标识符,Python的关键字数量可能会随着版本的更新而有所变化,但通常包含以下几类:

  • 数据类型:int、float、complex、str、list、set、dict、tuple、bool
  • 布尔操作符FalseTruenotandor
  • 控制流语句ifelifelseforwhilebreakcontinue
  • 函数定义def
  • 类定义:class
  • 异常处理tryexceptfinally
  • 模块导入importfrom
  • 变量声明globalnonlocal
  • 其他特殊用途assertpassraisereturn

5、python基本语法

5.1 变量的概念及定义 

  • 变量的概念:程序就是处理一系列状态的变化定义变量是为了记录状态的变化,变量的值存放的是状态。
  • 定义变量时,无需声明变量的数据类型,直接对变量赋值后就可以使用,python解释器会自动根据变量值判断它的数据类型。
  • 例如:name="alex",就定义了一个值为“alex”的字符串(str)变量
  • id(变量名):查看变量指向的内存地址。

5.2 数据类型

可变不可变:重新赋值后,变量指向的内存地址是否变化,如变化,是不可变类型,一旦创建就不可修改,hashable(可哈希),如不变,是可变类型,创建后可以修改,unhashable(不可哈希)。

  • 可变类型:列表、字典、set集合
  • 不可变类型:字符串、数字、元组、frozenset集合(创建:frozenset(set集合))

访问方式:

  • 顺序访问:字符串、列表、元组
  • 循环遍历访问:集合
  • 映射访问:字典
  • 直接访问:数字
  • 字典查询速度比列表快,但占用空间更大。

存放元素个数:

  • 容器类型:列表、元组、字典
  • 原子类型(只能存放一个值):数字、字符串、布尔值
(1)数字Numbers

不可变类型,Python3支持三种不同的数值类型:

  • int:整数类型,Python3中整型没有大小限制,不管多大数字都是int类型,Python2里int有一个数值范围,超过int范围是long长整型。
  • float:浮点数类型,可以用科学计算法表示,例如2.5e2=250.0。
  • complex:复数类型,由实数部分和虚数部分构成,可以用a+bj表示。
(1.1)定义方式 
'''定义int数字变量'''
i_num_1 = 1  # 直接给变量赋值int数字
i_num_2 = int(2)  # 用int()方法创建int对象
# int()方法也可做float->int,以及纯数字字符(不包含小数点)的str->int的强制类型转换,如下:
i_num_3 = int(2.9)  # 将float数字2.9强制转换为int数字,只会截取小数点前面的数字,结果是2
i_num_4 = int("123")  # 将纯数字字符的str字符串"123",强制转换为int数字,直接去掉引号,结果是123

'''定义float数字变量'''
f_num_1 = 1.2  # 直接给变量赋值flot数字
f_num_2 = float(2.3)  # 用float()方法创建float对象
# float()方法也可做int->float和纯数字字符(包含小数点)的str->float的强制类型转换,如下:
f_num_3 = float(2)  # 将int数字2强制转换为float数字2.0
f_num_4 = float("12.3")  # 将纯数字字符(包含小数点)的str字符串"12.3",强制转换为float数字,直接去掉引号,结果是12.3

'''定义complex数字变量'''
c_num_1 = 1.2+1j  # 直接给变量赋值complex数字,j前面的数字就算是1也不可省略,结果是(1.2+1j)
c_num_2 = complex(2.3+0j)  # 用complex()方法创建complex对象
# complex()方法也可做int/float->complex和纯复数字符(包含括号、小数点和+虚数j)的str->float的强制类型转换,如下:
c_num_3 = complex(2)  # 将int数字2强制转换为complex数字(2+0j)
c_num_4 = complex(2.5)  # 将float数字2.5强制转换为complex数字(2.5+0j)
c_num_5 = complex("(12.3+j)")  # 将纯复数字符(包含括号、小数点和+虚数j)的str字符串"(12.3+j)",强制转换为complex数字,直接去掉引号&#x
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值