Python基础002---基础知识
一、标识符
标识符是自己定义的,是开发人员在程序中自己定义的一些符号和名称,如变量名、函数名等。在 Python 里,标识符由字母(区分大小写)、数字、下划线组成,且数字不能开头。常用的命名方法有小驼峰(myName)、大驼峰(MyName),python中常用的是利用下划线连接所有单词。不能使用关键字命名。
注意:以下划线开头的标识符是有特殊意义的。
- 以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入。
- 以双下划线开头的 __foo 代表类的私有成员。
- 以双下划线开头和结尾的 __foo__ 代表 Python 里特殊方法专用的标识,如 __init__() 代表类的构造函数。
二、python关键字
下面的列表显示了在Python中的保留字。这些保留字不能用作常数或变数,或任何其他标识符名称。所有 Python 的关键字只包含小写字母。

三、输入、输出
- 小括号中放入的是提示信息,用来在获取数据之前给用户的一个简单提示
- 在从键盘获取了数据以后,会存放到等号左边的变量中
- 会把用户输入的任何值当做字符串来对待。
(2) Python3版本中
没有raw_input( )函数,只有input( )函数,并且Python3中的input与Python2中的raw_input( )功能一样。
四、垃圾回收
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---基础知识的更多相关文章
- Python进阶----计算机基础知识(操作系统多道技术),进程概念, 并发概念,并行概念,多进程实现
Python进阶----计算机基础知识(操作系统多道技术),进程概念, 并发概念,并行概念,多进程实现 一丶进程基础知识 什么是程序: 程序就是一堆文件 什么是进程: 进程就是一个正在 ...
- Python开发(一):Python介绍与基础知识
Python开发(一):Python介绍与基础知识 本次内容 一:Python介绍: 二:Python是一门什么语言 三:Python:安装 四:第一个程序 “Hello world” 五:Pytho ...
- Python黑客编程基础3网络数据监听和过滤
网络数据监听和过滤 课程的实验环境如下: • 操作系统:kali Linux 2.0 • 编程工具:Wing IDE • Python版本:2.7.9 • 涉及 ...
- Python旅途——入门基础
1.入门 作为近几年计算机程序设计语言中很火的Python,是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的.大 ...
- Python 面向对象之五 基础拾遗
Python 面向对象之五 基础拾遗 今天呢,就剩下的面向对象的相关知识进行学习,主要会学习以下几个方面的知识:1.上下文管理协议,2.为类加装饰器 3.元类 一.上下文管理协议 在学习文件操作的时候 ...
- Python进阶----线程基础,开启线程的方式(类和函数),线程VS进程,线程的方法,守护线程,详解互斥锁,递归锁,信号量
Python进阶----线程基础,开启线程的方式(类和函数),线程VS进程,线程的方法,守护线程,详解互斥锁,递归锁,信号量 一丶线程的理论知识 什么是线程: 1.线程是一堆指令,是操作系统调度 ...
- 第二章 python之计算机基础
@python基础 零基础就是个幌子,因为零基础什么都干不了. 如果零基础随随便便就把自动化做起来,那自动化测试就不值钱了:因为这种简单的事情,谁都可以做到. 本课程从零基础出发,补足基础后,不仅仅学 ...
- 深度学习入门者的Python快速教程 - 基础篇
5.1 Python简介 本章将介绍Python的最基本语法,以及一些和深度学习还有计算机视觉最相关的基本使用. 5.1.1 Python简史 Python是一门解释型的高级编程语言,特点是简单明 ...
- 好书推荐---Python网络编程基础
Python网络编程基础详细的介绍了网络编程的相关知识,结合python,看起来觉得很顺畅!!!
- [资料分享]Python视频教程(基础篇、进阶篇、项目篇)
Python是一种开放源代码的脚本编程语言,这种脚本语言特别强调开发速度和代码的清晰程度.它可以用来开发各种程序,从简单的脚本任务到复杂的.面向对象的应用程序都有大显身手的地方.Python还被当作一 ...
随机推荐
- Pyqt5_QfileDialog
QfileDialog getOpenFileName getSaveFileName getExistingDirectory getOpenFileName: 就是调用窗口来读取用户选取的文件路径 ...
- Oracle 中序列使用
转 https://www.cnblogs.com/21-forever/p/11265924.html 序列: 1.Oracle是不支持自增长的: ①.序列是用于生成唯一.连续序号的对象: ②.序列 ...
- Python的大小整数池跟深浅copy
一.小整数池 可变的数据类型:list dict set 可变: 就是里面的数据类型变了,但是指向的内存地址没变. 不可变的数据类型:str 数值类型 tuple 不可变:如果改变了里面的值,相应的只 ...
- Spring MVC基于注解@Controller和@RequestMapping开发的一个例子
1.创建web项目 2.在springmvc的配置文件中指定注解驱动,配置扫描器 在 Spring MVC 中使用扫描机制找到应用中所有基于注解的控制器类,所以,为了让控制器类被 Spring MVC ...
- 看完这篇还不懂Redis的RDB持久化,你们来打我!
一.为什么需要持久化 redis里有10gb数据,突然停电或者意外宕机了,再启动的时候10gb都没了?!所以需要持久化,宕机后再通过持久化文件将数据恢复. 二.优缺点 1.rdb文件 rdb文件都是二 ...
- Java中的自动装箱拆箱
Java中的自动装箱拆箱 一.自动装箱与自动拆箱 自动装箱就是将基本数据类型转换为包装类类型,自动拆箱就是将包装类类型转换为基本数据类型. 1 // 自动装箱 2 Integer total = 90 ...
- require.js与IDEA的配合
本文主要讲述在html中使用requirejs时,如何让IDEA更加智能识别javascript的方法. 测试时的目录结构,一种典型的 thinkphp 的结构,同时,在 a.thml 中通过 req ...
- Parrot os KDE还是MATE版本
在经历了KDE桌面痛苦折磨后,准备转投MATE的怀抱,不得不说Parrot KDE的ram的占有和windows 10差不多,大量的图形化处理,让我本来不多的内存更加血上加霜. 所以,关于版本的推荐, ...
- webstorm 单词快捷翻译设置
1.打开webstorm中的设置,选择plugins,搜索 translations 安装,安装完成重启webstorm 2.设置快捷键翻译,打开webstorm设置,选择keymap,搜索trans ...
- Alpha冲刺 —— 5.9
这个作业属于哪个课程 软件工程 这个作业要求在哪里 团队作业第五次--Alpha冲刺 这个作业的目标 Alpha冲刺 作业正文 正文 github链接 项目地址 其他参考文献 无 一.会议内容 1.总 ...