一、标识符

标识符是自己定义的,是开发人员在程序中自己定义的一些符号和名称,如变量名、函数名等。在 Python 里,标识符由字母(区分大小写)、数字、下划线组成,且数字不能开头。常用的命名方法有小驼峰(myName)、大驼峰(MyName),python中常用的是利用下划线连接所有单词。不能使用关键字命名。

注意:以下划线开头的标识符是有特殊意义的。

  • 以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入。
  • 以双下划线开头的 __foo 代表类的私有成员。
  • 以双下划线开头和结尾的 __foo__ 代表 Python 里特殊方法专用的标识,如 __init__() 代表类的构造函数。

二、python关键字

下面的列表显示了在Python中的保留字。这些保留字不能用作常数或变数,或任何其他标识符名称。所有 Python 的关键字只包含小写字母。

三、输入、输出

1、Python输入
(1)Python2 版本:在Python2中,获取键盘的输入数据的方法时采用raw_input ( )和input( )两个函数。
     raw_input ( ):
    • 小括号中放入的是提示信息,用来在获取数据之前给用户的一个简单提示
    • 在从键盘获取了数据以后,会存放到等号左边的变量中
    • 会把用户输入的任何值当做字符串来对待。
     input( ):与raw_ input( )类似,但其接受的输入必须是表达式;并把表达式的结果赋值给等号左边的变量。

(2) Python3版本中
       没有raw_input( )函数,只有input( )函数,并且Python3中的input与Python2中的raw_input( )功能一样。

 
2、Python输出
       python2的输出是print,python3的输出直接变成一个函数print( )。

四、垃圾回收

  1、垃圾回收机制

当一个常量被生成时,会占用一份内存,这时候如果有变量指向该常量,那么该常量的引用计数为1,Python虚拟机规定,当一个常量的引用计数为0,也就是没有变量指向的时候,该常量占用的内存会被回收。

例如:name=user='geqian',此时,变量name和变量user指向常量'geqian'这个内存,常量的引用计数为2,使用内置函数id(变量名 )查看两个变量的id,id是相同的,那么就说明有两个指针指向常量'geqian'这个内存。

使用del(name)和del(user)分别删除指针name、user,再次访问name,会有如下提示,也就是指向常量的内存的所有指针都已经被删除了,引用计数为0.

 2、python是强类型的动态脚本语言

  • 强类型:不允许不同类型相加。例:整型+字符串会报类型错误
  • 动态:不用声明数据类型,确定一个变量的类型是在给他赋值的时候。
  • 脚本语言:一般是解释性语言,运行代码只需要一个解释器,不需要编辑。

五、python其他

  1、编码格式

Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错。这时,需要在文件开头加入 # -*- coding: UTF-8 -*- 或者 # coding=utf-8,注意:# coding=utf-8 的 = 号两边不要空格。

Python3.X 源码文件默认使用utf-8编码,所以可以正常解析中文,无需指定 UTF-8 编码。如果你使用编辑器,则需要设置 py 文件存储的格式为 UTF-8,否则会出现类似以下错误信息:

Pycharm 设置步骤:

    • 进入 file > Settings,在输入框搜索 encoding
    • 找到 Editor > File encodings,将 IDE Encoding 和 Project Encoding 设置为utf-8。

 2、行和缩进

(1)缩进:

Python 的代码块不使用大括号 {} 来控制类、函数以及其他逻辑判断,而是用缩进来写模块。缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量。 建议每个缩进层次使用 单个制表符 或 两个空格 或 四个空格 , 切记不能混用。

(2) 行:

Python语句中一般以新行作为语句的结束符,但是我们可以使用斜杠( \)将一行的语句分为多行显示。语句中包含 [], {} 或 () 括号就不需要使用多行连接符。

(3)空行:

函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。记住:空行也是程序代码的一部分。

(4)同一行显示多条语句

Python可以在同一行中使用多条语句,语句之间使用分号(;)分割。

3、引号

Python 可以使用引号( ' )、双引号( " )、三引号( ''' 或 """ ) 来表示字符串,引号的开始与结束必须是相同类型的。其中三引号可以由多行组成,是编写多行文本的快捷语法,常用于文档字符串,在文件的特定地点,被当做注释

4、注释

python中单行注释采用 # 开头,python 中多行注释使用三个单引号(''')或三个双引号(""")。

5、多个语句构成代码组

缩进相同的一组语句构成一个代码块,我们称之代码组。像if、while、def和class这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组。我们将首行及后面的代码组称为一个子句(clause)。

Python基础002---基础知识的更多相关文章

  1. Python进阶----计算机基础知识(操作系统多道技术),进程概念, 并发概念,并行概念,多进程实现

    Python进阶----计算机基础知识(操作系统多道技术),进程概念, 并发概念,并行概念,多进程实现 一丶进程基础知识 什么是程序: ​   程序就是一堆文件 什么是进程: ​   进程就是一个正在 ...

  2. Python开发(一):Python介绍与基础知识

    Python开发(一):Python介绍与基础知识 本次内容 一:Python介绍: 二:Python是一门什么语言 三:Python:安装 四:第一个程序 “Hello world” 五:Pytho ...

  3. Python黑客编程基础3网络数据监听和过滤

    网络数据监听和过滤 课程的实验环境如下: •      操作系统:kali Linux 2.0 •      编程工具:Wing IDE •      Python版本:2.7.9 •      涉及 ...

  4. Python旅途——入门基础

    1.入门 ​ 作为近几年计算机程序设计语言中很火的Python,是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的.大 ...

  5. Python 面向对象之五 基础拾遗

    Python 面向对象之五 基础拾遗 今天呢,就剩下的面向对象的相关知识进行学习,主要会学习以下几个方面的知识:1.上下文管理协议,2.为类加装饰器 3.元类 一.上下文管理协议 在学习文件操作的时候 ...

  6. Python进阶----线程基础,开启线程的方式(类和函数),线程VS进程,线程的方法,守护线程,详解互斥锁,递归锁,信号量

    Python进阶----线程基础,开启线程的方式(类和函数),线程VS进程,线程的方法,守护线程,详解互斥锁,递归锁,信号量 一丶线程的理论知识 什么是线程:    1.线程是一堆指令,是操作系统调度 ...

  7. 第二章 python之计算机基础

    @python基础 零基础就是个幌子,因为零基础什么都干不了. 如果零基础随随便便就把自动化做起来,那自动化测试就不值钱了:因为这种简单的事情,谁都可以做到. 本课程从零基础出发,补足基础后,不仅仅学 ...

  8. 深度学习入门者的Python快速教程 - 基础篇

      5.1 Python简介 本章将介绍Python的最基本语法,以及一些和深度学习还有计算机视觉最相关的基本使用. 5.1.1 Python简史 Python是一门解释型的高级编程语言,特点是简单明 ...

  9. 好书推荐---Python网络编程基础

    Python网络编程基础详细的介绍了网络编程的相关知识,结合python,看起来觉得很顺畅!!!

  10. [资料分享]Python视频教程(基础篇、进阶篇、项目篇)

    Python是一种开放源代码的脚本编程语言,这种脚本语言特别强调开发速度和代码的清晰程度.它可以用来开发各种程序,从简单的脚本任务到复杂的.面向对象的应用程序都有大显身手的地方.Python还被当作一 ...

随机推荐

  1. 【Java_Eclipse】Eclipse插件如何卸载?

    本博客我们讲一下对于Eclipse的插件卸载 1.Eclipse中:Window——Install  New  SoftWare 2.找到相应插件卸载即可

  2. python 生成随机字符串

    1.生成随机字符串 #数字+字母+符号 def getRandChar(n): l = [] #sample = '0123456789abcdefghijklmnopqrstuvwxyz!@#$%^ ...

  3. Angular SPA基于Ocelot API网关与IdentityServer4的身份认证与授权(一)

    好吧,这个题目我也想了很久,不知道如何用最简单的几个字来概括这篇文章,原本打算取名<Angular单页面应用基于Ocelot API网关与IdentityServer4+ASP.NET Iden ...

  4. web项目——启动时tomcat报错:Server Tomcat v7.0 Server at localhost failed to start.

    报错信息:Server Tomcat v7.0 Server at localhost failed to start. 报错截图: 原因分析:在使用SSM框架时,生成的mapping与系统配置文件不 ...

  5. mysql创建本地用户及赋予数据库权限的方法示例

    大家在安装 mysql 时通常会生成一个超级用户 root,很多人之后就一直沿用这一个用户,虽然这会很方便,但超级用户权限太大,在所有地方使用它通常是一个安全隐患. 这一点跟操作系统的用户管理也是类似 ...

  6. Oracle 中同义词使用

    一.数据库对象: 模式对象: 数据库对象是逻辑结构的集合,最基本的数据库对象是表; 其他对象包括:create增.drop删.改alter 同义词.序列.视图.索引 1.同义词: ①. 现有对象的一个 ...

  7. [Node.js]001.安装与环境配置

    安装与环境配置 第一步:下载安装文件 第二步:安装nodejs 第三步:npm安装 第四步:安装相关环境 第五步:安装CoffeeScript 第六步:CoffeeScript测试实例 第一步:下载安 ...

  8. [优文翻译]003.你应避免的移动开发APP的5个细节(5 Things to Avoid while Developing Your Next Mobile App)

    导读:本文是从<5 Things to Avoid while Developing Your Next Mobile App>这篇文章翻译而来 智能手机的普及带动了大批移动应用的诞生,这 ...

  9. 域渗透分析工具BloodHound

    简介:BloodHound是一款将域内信息可视化的单页的web应用程序,是一款在域内进行信息收集的免费工具: Kali中直接命令安装即可 apt-get install bloodhound 打开lo ...

  10. jchdl - RTL实例 - MOS6502 ALU

    https://mp.weixin.qq.com/s/nMxYVC2djk7DdAforerZPA   使用jchdl RTL实现MOS6502 CPU的ALU.   参考链接 https://git ...