Python基础——1.1Python入门

命令行格式化代码块注释
win+RCtrl+alt+LCtrl+?
书签
Ctrl+F11+所选数字,字母等

Python 支持的转义字符

转义字符说明
\n换行符,将光标位置移到下一行开头
\r回车符,将光标位置移到本行开头
\t水平制表符,也即 Tab 键,一般相当于四个空格
\a蜂鸣器响铃。注意不是喇叭发声,现在的计算机很多都不带蜂鸣器了,所以响铃不一定有效
\b退格(Backspace),将光标位置移到前一列
\\反斜线
\'单引号
\"双引号
\在字符串行尾的续行符,即一行未完,转到下一行继续写

转义字符在书写形式上由多个字符组成,Python 将它们看作是一个整体,表示一个字符

学习总览:
小编整理了Python基础上篇共7篇文章,稍后会一一发布,只要你能坚持,保证你能系统的学到Python的各个知识,7篇文章的标题大概如下:

  1. Python入门
  2. 数据类型
  3. 运算符-格式化
  4. 结构语句-迭代器
  5. 函数作用域
  6. 面向对象-魔法方法
  7. 文件操作

以上标题可能会根据内容稍有变化,当然啦,上面的7篇文章还不足以介绍整个Python,不用担心,看完这7篇文章,下篇小编有时间会继续更新,多多支持一下小编吧!

一、编程简介

  • 源代码(Source Code):编程语言是人与计算机沟通的介质,也是控制计算机的指令(Instruction),有固定的格式和词汇。这些按照特定的格式构成特定含义的词汇、语句称为源码或代码(Code)。
  • 语法(Syntax):编程语言规定了源代码中每个词汇、语句的含义和如何组织在一起,这就是语法。
  • 编程(Program):编写源代码的过程。编程是人把命令用计算机编程语言翻译出来并写到文件里(这一系列的文件就是程序),让计算机按照人类的思维逻辑(程序)自发去工作。从事编程工作的人叫程序员(Programmer)

考点:硬件 + 操作系统 == 平台

1.编程语言分类

1)机器语言

机器语言直接用二进制编程,属低级语言(低级指底层、贴近计算机硬件)。用二进制代码0,1描述的指令称为机器指令。计算机内部基于二进制指令工作,所以机器语言直接控制计算机硬件。

1.执行效率最高:编写的程序可以被计算机无障碍理解、直接运行,执行效率高

2.开发效率最低:复杂,开发效率低

3.跨平台性差:贴近\依赖具体的硬件,跨平台性差

2)汇编语言

汇编语言用一个英文标签代表一组二进制指令,汇编语言的本质是直接操作硬件,因此汇编语言仍是较低级/底层的语言、贴近计算机硬件。源程序经汇编生成的可执行文件不仅比较小,而且执行速度很快。

1.执行效率高:相对于机器语言,使用英文标签编写程序相对简单,执行效率高,但较之机器语言稍低

2.开发效率低:仍然直接操作硬件,比起机器语言,复杂度稍低,但依旧居高不下,所以开发效率依旧较低

3.跨平台性差

3)高级语言

编译型

把程序所有代码编译成计算机可识别的二进制指令,操作系统会用编译好的二进制指令直接操作硬件

1.执行效率高:编译是指在应用源程序执行之前,就将程序源代码“翻译”成目标代码(即机器语言),因此目标程序可以脱离语言环境独立执行,使用方便,执行效率较高

2.开发效率低:应用程序一旦需要修改,必须先修改源代码,然后重新编译、生成新的目标文件才能执行,而在只有目标文件而没有源代码,修改会很不方便。所以开发效率低于解释型

3.跨平台性差

编译型代码仅针对一个平台翻译,平台改变须重新编译,即跨平台性差。大多数编程语言都是编译型。

编译程序将源程序翻译成目标程序后保存在另一个文件中,该目标程序可脱离编译程序直接在计算机上多次运行。大多数软件产品以目标程序形式发行给用户的,不仅便于直接运行,同时又使他人难于盗用其中的技术。C、C++、Ada、Pascal都是编译实现的。

解释型

类似同声翻译,需要有一个解释器,解释器会读取程序代码,一边翻译一边执行

1.执行效率低

解释型语言实现的过程中,翻译器并不产生目标机器代码,而是产生易于执行的中间代码,这种中间代码与机器代码不同,中间代码的解释是由软件支持的,不能直接使用硬件,软件解释器通常会导致执行效率较低

2.开发效率高

用解释型语言编写的程序由另一个可以理解中间代码的解释程序执行,解释程序的任务是逐一将源程序的语句解释成可执行的机器指令,无需将源程序翻译成目标代码再执行。解释程序的优点是当语句出现语法错误时,可立即引起程序员的注意,而程序员在程序开发期间就能进行校正

3.跨平台性强

代码运行依赖于解释器,不同平台有对应版本的解释器,所以解释型的跨平台性强

解释型语言需专门的解释器解释执行程序,每条语句仅在执行时才被翻译,这种解释型语言每执行一次就翻译一次,因而效率低下。一般动态语言都是解释型的,如:Tcl、Perl、Ruby,VBScript、JavaScript

二、入门准备

1.python解释器

官方的Python解释器本质是基于C语言开发的软件,功能是读取以.py结尾的文件内容,然后按照定义的语法和规则去翻译并执行相应的代码。这种用C实现的解释器称为CPython

python解释器和python语言的关系

1.Python解释器是一款应用程序,专门用来解释python这门语言风格并执行的

2.python语言编写的程序最终都会被解释器执行,python语言更多的在调用python解释器的功能,所以解释器性能的高低很大程度决定python写出来的程序执行效率的高低

2.环境变量

1.环境变量指在操作系统中指定操作系统运行环境的参数。如:临时文件夹位置和系统文件夹位置等。

2.环境变量是操作系统中一个具有特定名字的对象,它包含了一个或多个应用程序所将使用到的信息。如Windows和DOS操作系统中的path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时系统除了在当前目录下面寻找此程序外,还会到path中指定的路径去找。

3.用户通过设置环境变量,来更好的运行进程。

3.python运行

方式一:交互式模式

即时得到程序结果,多用于调试(辅助作用)

方式二:脚本文件

把程序写进文件(文件后缀名为.py),然后用Python解释器解释执行其中的内容,将代码永久保存下来

4.IDE

IDE全称Integrated Development Environment,即集成开发环境,能够集成n个软件的功能,同时又有代码提示以及纠错等功能,极大地提升程序员的开发效率。最好的开发Python程序的IDE就是PyCharm

三、标识符

在Python中,名称(标识符)只能由字母、数字和下划线(_)构成,且不能以数字打头。因此Plan9是合法的变量名,而9Plan不是。

1.注释

  1. 含义:注释是对代码的解释说明,注释的内容不会被当作代码运行

  2. 作用:增强代码的可读性

  3. 种类:单行注释:开头用#号,可以跟在代码的正上方或者正后方

    快捷键 :Ctrl+?

​ 多行注释:用三对引号 ‘’‘多行注释’’’ “”“多行注释”“”

  1. 代码注释的原则:注释可用中文或英文,但不要用拼音
  2. 在#后跟TODO,可用于标记需要去做的工作

2.变量

  1. 含义:变量是可以变化的量,量指的是事物的状态,比如人的年龄、性别,游戏角色的等级、金钱等等。变量(Variable)有独一无二的名字,通过变量的名字就能找到变量中的数据。从底层看,程序中的数据最终都要放到内存(内存条)中,变量就是这块内存的名字

  2. 作用:任何编程语言都需要处理数据,比如数字、字符串、字符等,我们可以直接使用数据,也可以将数据保存到变量中,方便以后使用。

  3. 使用变量

    原则:先定义,后使用

    变量的定义由三部分组成

    1. 变量名:是指向等号右侧值的内存地址的,用来访问等号右侧的值
    2. 赋值符号:将变量值的内存地址绑定给变量名
    3. 变量值:代表记录的事物的状态

解释器执行到变量定义的代码时会申请内存空间存放变量值,然后将变量值的内存地址绑定给变量名,通过变量名即可引用到对应的值

  1. 变量名的命名规范(变量名的命名应该见名知意,不建议使用中文,拼音)

    1.变量名只能是字母、数字或下划线的任意组合
    2.变量名的第一个字符不能是数字
    3.关键字不能声明为变量名,常用关键字如下

    'False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'
    
  2. 变量名的命名风格

    • 驼峰体

      AgeOfTony = 56

    • 纯小写下划线连接法(在python中,变量名的命名推荐使用该风格)

      age_of_tony = 56

  3. 变量值的三大特性

    1. id

      反应的是变量在内存中的唯一编号,内存地址不同id肯定不同

      print(id())

    2. type

      变量值的类型,不同类型的值用来表示记录不同的状态

      print(type())

    3. value

      变量值本身

  4. is和==的区别
    is:比较左右两个值身份id(内存地址)是否相等

    ==:比较左右两个值是否一样

    id不同的情况下,值有可能相等,即两块不同的内存空间里可以存相同的值

    id相同的情况下,值一定相同, x is y成立,那么x == y也必然成立

  5. 小整数池:[-5,256]

    小整数池目的:节省内存,提高执行效率

    原因:Python实现int的时候有小整数池。为了避免因创建相同的值而重复申请内存空间所带来的效率问题, Python解释器会在启动时创建出小整数池,范围是[-5,256],该范围内的小整数对象是全局解释器范围内被重复使用,永远不会被垃圾回收机制回收。

假设:
# 文件1中    # 文件2中   # 文件3中   # 文件4中
a=-5        a=-6       a=256      a=257
b=-5        b=-6       b=256      b=257
a is b      a is b     a is b     a is b
#True       #False     #True      #False

大整数对象池:
超出小整数的范围即为大整数,每次都会创建一个新的对象。但是处于一个代码块的大整数是同一个对象。

# 代码块1
class 1:
	a=100
	b=100
	c=1000
	d=1000
# 代码块2
class 2:
	a=100
    b=1000

结果

# 相同代码块中的小整数使用同一个地址处的值
	A.a is A.b
	# True
# 相同代码块中的大整数不会再次申请内存存放相同数字
	A.c is A.d
    # False
# 不同代码块中的小整数使用同一个地址处的值
	A.a is B.a
    # True
# 不同代码块中的大整数相同的值会再次申请内存储存
	A.c is B.b
    # False

在pycharm中情况有所不同:在pycharm中运行python程序时,出于对性能的考虑,会扩大小整数池的范围,其他字符串等不可变类型也都包含在内采用相同的方式处理了,这是一种优化机制,范围无需细究。

a = 1000
b = 1000
print(a is b)
# True

3.常量

  1. 含义:常量指在程序运行过程中不会改变的量

  2. 作用:在程序运行过程中,有些值是固定的、不应该被改变,如圆周率 3.141592653…

  3. 使用常量

    用全部大写的变量名表示常量。如:PI=3.14159。从语法层面常量的使用与变量完全一致

  4. Python是弱类型的语言
    在强类型的编程语言中,定义变量时要指明变量的类型,而且赋值的数据也必须是相同类型

    C语言、C++、Java 是强类型语言的代表

    和强类型语言相对应的是弱类型语言,Python、JavaScript、PHP 等脚本语言一般都是弱类型的

弱类型语言有两个特点:

变量无须声明就可以直接赋值,对一个不存在的变量赋值就相当于定义了一个新变量
变量的数据类型可以随时改变,比如,同一个变量可以一会儿被赋值为整数,一会儿被赋值为字符串
注意,弱类型并不等于没有类型!弱类型是在书写代码时不用刻意关注类型,但在编程语言的内部仍然是有类型的。我们可以使用 type() 内置函数类检测某个变量或者表达式的类型

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木颤简叶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值