标识符

所谓的标识符就是对变量、常量、函数、类等对象起的名字。

首先必须说明的是,Python语言在任何场景都严格区分大小写!也就是说A和a代表的意义完全不同

python对于表示标识符的命名有如下规定:

第一个字符必须是字符表中的字符或者下划线

例如,a,abc,_id,等都是可以的。但是例如

开头的是PHP的变量语法),~abc,123a都是不可以的。这一点一定要注意。

可能有人会问,中文可以作为标识符嘛?答案是可以的

我 = "json",打印出‘我’ 结果是json虽然可以但是不建议大家这样做。
复制代码

另外,以下划线开头的标识符通常都有特殊意义。以单下划线开头的变量,例如_foo代表禁止外部访问的类成员,需通过类提供的接口进行访问,不能用"from xxx import *"导入。而以双下划线开头的,例如__foo,代表类的私有成员 以双下划线开头和结尾的__foo__是python里特殊方法专用的标识。如__init__代表类的构造函数。这些我们后面会专门的讨论这里不做过多的解释。

标识符的其他的部分由字母、数字和下划线组成

标识符除了首字符不可以是数字外,其他部分还可以包含数字。这里需要注意特殊字符是不可以的。例如:

a123b,bbc,a_b_c_1这些都是可以的。但是a&b,a-b-c这些都是不可以的。

另外要注意的是,由于l(小写的L)和数字1, 大小写的o与数字0在外观上的相似性,请尽量不要让它们相邻出现,保持语义的清晰性,确保不会发现错误认读的情况。

同样,英文中夹塞中文在语法上也是可以的,但绝对不要这么做!

a这都能行b就服你 = 100
a这都能行b就服你
100
复制代码

标识符对大小写敏感

刚刚上面也给大家说过了,标识符ab和AB是完全不同的两个标识符

变量名全部小写,常量名全部大写

这条不能算语法层面的要求,而是代码规范的要求。
可以用PI来表示一个变量,但通常我们都会认为这是代表圆周率的一个常量

函数和方法名用小写加下划线

这算是一个代码的规范,我们在定义一个方法的时候。尽量用get_images,count_apple之类的命名方式。当然也可以采用小驼峰的方式,getImages,countApple这种。

类名用大驼峰

同样也是代码规范,例如ThreadMinxIn,ButtonClick这种。就是每个单词的首字母大写,组合在一起就像是驼峰一样高低排列。

模块和包的名字用小写

请尽量小写模块和包的名字,并且不要和标准库以及著名的第三方库同名。如果同名程序运行会报错。

最后提醒大家,变量的命名不要用关键字和内置函数的名称!!

python保留字

Python保留字,也叫关键字,是Python语言官方确定的用作语法功能的专用标识符,不能把它们用作任何自定义标识符名称。关键字只包含小写字母。可以通过python提供的库输出这些关键字

Python的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字

import keyword
keyword.kwlist
复制代码

如果真的用关键字来当做变量,会怎么样呢?

系统会直接提示语法错误,所以这里一定要注意不要用关键字来当做变量。除了不能使用关键字作为标识符,内置的函数同样也是不可以的。sum是一个求和的函数。这里我给它定义成一个字符串看看会有什么结果?

注释

我们写的程序里,不光有代码,还要有很多注释。注释有说明性质的、帮助性质的,它们在代码执行过程中相当于不存在,透明的。

单行注释

Python中,以符号“#”为单行注释的开始,从它往后到本行的末尾,都是注释内容。

# 单行注释

多行注释

Python没有真正意义上的多行注释(块注释)语法

#第一行注释

#第二行注释

#第三行注释

注释文档

在某些特定的位置,用三引号包括起来的部分,也被当做注释。

"""这个是函数的说明文档。:param a: 加数:param b: 加数:return: 和
"""
复制代码

代码头两行

很多时候,我们在一些py脚本文件的开头都能看到类似的以#开头的这样两行代码,它们不是注释,是一些设定

#!/usr/bin/env python
# -*- coding:utf-8 -*-
复制代码

第一行:用于指定运行该脚本的Python解释器,Linux专用,windows不需要。env方式下,系统会自动使用环境变量里指向的Python。还有一种方式,#!/usr/bin/python3.6,这会强制要求使用系统中的python3.6解释器执行文件,这种方式不好,一旦你本地的Python3.6版本删除了,会出现找不到解释器的错误。无论两种方式的哪一种,都指的是在linux下使用

第二行:代码的编码方式。不是程序要处理的数据的编码方式,而是程序自己本身的字符编码。在Python3中,全面支持Unicode,默认以UTF-8编码,我们不用再纠结中文的问题,乱码的问题,所以本行其实可以不需要。但在Python2中,对字符的编码是个非常令人头疼的问题,通常都需要指定这么一行。如果要自定义别的编码类型的话,可以像这样:# -- coding: cp-1252 --,但如果没有强制需求的话,不要自己作死,请坚持使用utf-8编码。

语句与缩进

语句:在代码中,能够完整表达某个意思、操作或者逻辑的最短代码,被称为语句。

a = 321
a = 321
print("hello world")
list.append(item)
复制代码

这里强调一下,python的标准语言不需要使用分号。简单的换行就表示语句已经结束。

代码块:为完成某一特定功能而联系在一起的一组语句构成一个代码块。有判断、循环、函数、类等各种代码块。代码块的首行通常以关键字开始,以冒号( : )结束。比如:

if expression:pass
elif expression :pass
else:pass
复制代码

Python最具特色的语法就是使用缩进来表示代码块,不需要使用大括号

像PHP、JAVA等语言都是使用({})来表示代码块的。python一般用四个空格就是tab来缩进。在pycharm中tab自动回转成4个空格。在Linux环境中,如VIM编辑器,建议使用空格。

那么怎么才是正确的缩进方式呢?

1.所有的普通语句,顶左开始编写,不需要缩进2.所有的语句块,首行不用缩进,从冒号结束后开始下一行,都要缩进3.直到该语句块结束,就退回缩进,表示当前块已结束4.语句块可以嵌套,所以缩进也可以嵌套
复制代码

多行语句: 前面是多条语句在一行,但如果一条语句实在太长,也是可以占用多行的,可以使用反斜杠()来实现多行语句

string = "i love this country,"\+"because it is very beautiful!"\
复制代码

不到迫不得已,不要使用这种,该换行就换行。

pass语句

pass语句是占位语句,它什么都不做,只是为了保证语法的正确性而写。以下场景中,可以使用pass语句:

当你不知道后面的代码怎么写的时候

当你不需要写代码细节的时候

当语法必须,又没有实际内容可写的时候

其它的一些你觉得需要的场景

def func(a,b):pass
复制代码

字符串的表示形式

在后面的章节中,会进行更深入的介绍,这里作为一个前期的知识铺垫。

abc可能是个变量,但是"abc"肯定是个字符串了。这里强调一下在编程语言中,所有的符号都是英文状态下的。

在python中单引号和双引号的作用完全相同。在其他语言中,单双引号还是有一定区别的。

原生字符串: 通过在字符串前加r或R,如 r"this is test \n",表示这个字符串里的斜杠不需要转义,等同于自身。

python超全资料库安装包学习路线项目源码免费分享

Python基础教学系列— 基础语法相关推荐

  1. Python 实例教学_01_基础语法

    Python 实例教程 教学方法 课前准备 要求 Python 实例教学_01_基础语法 [Python 教学](https://blog.csdn.net/weixin_43955170/categ ...

  2. Python股票分析系列——基础股票数据操作(二).p4

    该系列视频已经搬运至bilibili: 点击查看 欢迎来到Python for Finance教程系列的第4部分.在本教程中,我们将基于Adj Close列创建烛台/ OHLC图,这将允许我介绍重新采 ...

  3. 5G无线技术基础自学系列 | 基础参数及帧结构

    素材来源:<5G无线网络规划与优化> 一边学习一边整理内容,并与大家分享,侵权即删,谢谢支持! 附上汇总贴:5G无线技术基础自学系列 | 汇总_COCOgsta的博客-CSDN博客 5G在 ...

  4. Python语言学习系列------基础语法(一)

    本博客系列为自己按照网上视频教学学习python的一个随笔系列文章,也不知道会更新到多少,反正闲开个坑呗. 一.高级语言的分类 高级的编程语言分为解释型语言和编译型语言,两者的区别是主要是:在执行前是 ...

  5. python 英语教学_Python基础教程(英文视频教学)

    Python基础教程 -.1.-.Installing_Python_video.flv: http://www.t00y.com/file/10034879 -.2.-.Numbers_and_Ma ...

  6. Java并发原理解析!java零基础教学系列视频教程

    前言 Linux 网络协议栈是根据 TCP/IP 模型来实现的,TCP/IP 模型由应用层.传输层.网络层和网络接口层,共四层组成,每一层都有各自的职责. 应用程序要发送数据包时,通常是通过 sock ...

  7. 专业计算机基础教学,计算机基础教学计划

    计算机基础教学计划 篇一:计算机应用基础教学计划 一.课程的目标和任务 <计算机应用基础>是计算机专业学生一门必修的计算机基础课,也是以后计算机专业其他课程的入门课.开设本课程的目的是使学 ...

  8. 专业计算机基础教学,计算机基础教学计划范文五篇

    计算机基础教学计划范文五篇 篇一:计算机基础教学计划 本学期学校安排我担任20xx级饭店管理班的<计算机应用基础>课程的教学工作,为了更好的完成本学期的教学任务,特制定本学期的教学计划,具 ...

  9. Python小白教学系列 | 字典

    字典概述 字典和列表类似,是可变序列,与列表不同的是,字典是无序的可变序列,保存的内容是以 键值对 的形式存放的.类似于的新华字典中拼音和汉字的关系,通过音节表可以快速找到对应的汉字.其中音节表相当于 ...

最新文章

  1. xml file too big to import to wordpress website
  2. python中栈_Python中的栈
  3. 加载 Firefox 配置
  4. Android listView 去掉header和footer中的分割线
  5. php 去掉字符串的逗号,php 怎么去掉字符串最后一个逗号
  6. android-apt-compiler: Cannot run program D:\android-sdk\platform-tools\aapt
  7. 商业软件划分的网格导入OpenFOAM问题总结【终极】
  8. 【QQ输入法】QQ输入法-剪切板 释放内存
  9. docker centos node nginx
  10. 浅谈SQL中存储过程和自定义函数的区
  11. 关于研究网站开发还是应用程序的思考
  12. 使用dbca创建oracle实例
  13. c/c++入门教程 - 3 职工管理系统 完整代码
  14. 区块链软件:区块链的迅猛发展
  15. CentOS 5.8/6.7若干优化
  16. 实习成长之路:后端开发实践系列——领域驱动设计(DDD)编码实践一
  17. (9)数据结构-双端队列
  18. 手机应用的照相录像功能,为什么转到后台就不能工作了?
  19. 商品中心 --- 淘宝类目属性体系
  20. python证件照换底色_还在用PS给证件照换底色吗?20行代码教你用Python给证件照换底色...

热门文章

  1. pandas中使用rolling.corr函数计算两个时间序列数据列之间的滚动相关性(Rolling correlations)、例如,计算两种商品销售额之间的3个月的滚动相关性
  2. R语言使用timeROC包计算存在竞争风险情况下的生存资料多时间AUC值、使用cox模型、并添加协变量、可视化存在竞争风险情况下的生存资料多时间ROC曲线
  3. python中使用squarify包可视化treemap图:treemap将分层数据显示为一组嵌套矩形,每一组都用一个矩形表示,该矩形的面积与其值成正比、自定义设置每一个数据格的颜色
  4. R语言可视化绘图基础知识详解
  5. 大一期末考试,python,测试题,含答案
  6. An improved genome reference for the African cichlid, Metriaclima zebra 非洲慈鲷,斑马宫丽鱼的改良基因组参考
  7. 设备树下字符设备驱动
  8. php 存储型跨站,php云人才系统存储型跨站两处
  9. java -version cmd_java如何运行步骤cmd?Java执行cmd命令方法有哪些?
  10. GitHub使用教程详解——官网操作指南(翻译)