介绍
本篇文章主要针对于计算机二级考试的崽崽,当然想了解Python和学习Python的崽崽也是可以看本篇文章的;毕竟,手机和电脑都可以运行Python;本篇我文章虽然是笔记,但是也纯靠手打,希望关注和点赞一下,期待我的其他随笔和文章;文章作者由博客园狐小妖用户撰写,非来自于博客园且不带转载注明,均为盗文章的用户,这种人最可耻;建议没有经过系统学习的用户一步一步来,如果经过系统学习的用户酌情跳着看;
目录
python语言基本语法元素
程序的框架格式
程序的框架格式,就是它的段落格式,是python语言的一部分,可以提高代码的可读性与维护性,当然,也是你必须遵守的python代码的编写方法;
缩进
python语言采用严格的‘缩进’来表示程序的逻辑,也就是我们说的python程序表示包含与层次关系,一般代码不要求缩进,顶格编写不能留空白;在if、while、for、def、class等保留关键字所在的完整语句后面要添加英文的‘:’符号结尾,并在之后进行缩进,表明后续代码与紧邻无缩进语句之间的所属关系;
缩进可以通过tab键实现,也可以通过空格实现(一般是四个空格),但是两者不能混用,如果使用IDLE编写代码,建议采用四个空格键编写,如果是pycharm编写建议采用tab键;


当使用IDLE执行代码时出现‘unindent does not match any outer indentation level’或者‘SyntaxError: unexpected indent’则说明出现缩进错误,如图:


注释
注释是代码中的辅助性文字,会被编译器或解释器略去,不被计算机执行,一般用于程序员对代码的说明;python使用‘# 单行注释'、''' 多行注释'''
单行注释:‘#’符号,表示一行注释的开始,注释可以在一行的任意位置通过‘#’开始,其符号后面的一行内容中全部会被当成注释,而前面的内容依旧会被当成代码执行;
多行注释:'''多行注释''',位于三对单引号中的内容,无论是否换行,都是注释,不会被python解释器所执行;
注释的作用:
注释一般用于在代码中标注作者和版权信息;
解释代码原理和用途;
通过注释单行代码辅助程序调试;

续航符
python程序是逐行编写的,每行代码并无限制,但是从程序员的角度,单行代码太长并不方便阅读,这个时候就可以采用续航符将单行代码分割为多行表达。
python中的续航符为‘\’。续航符之后不允许再空格,也就是说续航符之后直接换行;

语法元素的名称
python语言的基本单位是‘单词’,少部分单词是由python语言规定的,被称为保留字。大部分单词是由用户自己定义的,通过命名过程形成变量或函数,用来代表数据或代码,称为标识符。
变量
变量是保存和表示数据值的一种语法元素,变量的值是可以改变的,通过赋值运算符‘=’方式被修改,python中变量可以随时命名、随时使用、随时赋值;


保留字
保留字也叫keyword关键字,被编程语言内部定义并保留使用的,每种程序设计语言都有一套保留字,保留字一般用来构成程序的整体框架,python3.x中一共有35个保留字;
python3.x中的35个保留字 | and | as | assert | async | await | break | class | continue | def | del | elif | else | except | False | finally | for | from | global | if | import | in | is | lambda | None | nonlocal | not | or | pass | raise | return | True | try | while | with | yield | python二级考试中涉及到的保留字一共有22,选学5个:None、finally、lambda、pass、with;
python中的保留字也是大小写敏感,举例:True为保留字,而true不是保留字;
标识符
标识符可以简单理解为一个名字,主要用来标识变量、函数、类、模块和其他对象的名称;
标识符的命名规则:
字母、数字、下划线;
第一个字符不能是数字;
不能是python中的保留字;
只允许使用ISO-Latin(ISO-8859-1)字符集中的A-Z、a-z;
允许使用中文,但不建议;
注意:标识符对大小写敏感,name和Name是两个名字;

数据类型
计算机对数据进行运算时需要明确数据的类型和含义,比如说:1001001到底表示的是十进制还是二进制,还是表示的是一个数字串,数据类型就是用来表达数据的含义,消除计算机对数据理解的二义性;
数值类型
表示数字或数字的数据类型成为数值类型;
python提供3种数值类型:
整数类型;与数学中的整数一致,包含正、负、0,一个整数有二进制、八进制、十进制、十六进制这4种表示方式;

浮点数类型;与数学中的小数一致,没有取值范围限制,可正、可负,有两种表达方式,一种是小数点表示形式,另一种是科学计数法;浮点数只有十进制形式;

复数;与数学中的复数一致;采用a+bj的形式表示,存在实部和虚部;
字符串类型
计算机经常处理文本信息,文本信息在计算机中使用字符串类型表示,在python中使用单引号或双引号括起来的一个或多个字符来表示。单引号和双引号作用相同;

字符序列有两种序号体系:
正向递增序号:有效范围为[0,N-1],其中N为字符串中的字符的个数,最左侧的字符序号为0,依次向右递增,最右侧字符序列号为N-1;
反向递减序号:有效范围为[-1,-N],其中N为字符串中的字符的个数,最右侧字符序号为-1,依次向左递减,最左侧字符序号为-N;

两种索引可以同时使用,以下代码为对单个字符进行的索引;

还可以通过采用[N:M]格式获取字符串的子串,这种操作被称为切片操作。[N,M]获取字符串中从N到M(但不包括M)的连续的子字符串。N和M都表示的是索引序号,可以混合使用正向递增和反向递减序号;

通过python默认提供的len()函数获取字符串的长度,一个中文字符和一个英文字符的长度都记为1;

程序的语句元素
表达式
产生或计算新数据值的代码片段成为表达式;类似于数学中的公式,一般由数据和操作符构成;

赋值语句
对变量进行赋值的一行代码叫赋值语句;在python中使用一个‘=’表示‘赋值’,也就是说把等号右边的表达式运算之后的结果值赋给左边的变量;
基本的赋值语法:例:

同步赋值语句就是同时给多个变量进行赋值;
同步赋值语法:- 变量1, 变量2, 变量n = 表达式1, 表达式2, 表达式n
复制代码 例:

其实同步赋值用于最多的就是互换变量的值,也就是交换两个变量存储的值;

引用
python程序会经常使用到当前程序以外的已有的功能代码,这个过程叫引用,python语言使用import这个保留字引用当前程序以外的功能库;
引用功能库之后功能库.函数名()的方式调用基本功能,这种方式称为‘A.B()’方式;

其他语句
除了赋值语句以外,python还有分支语句和循环语句,先简单介绍一下使用,后面会详细讲解;
分支语句:根据判断条件选择程序执行路径。一般包含单分支结构、双分支结构和多分支结构;
单分支语法结构: 任何能够产生True或Flase的语句都可以作为条件,当条件为True时,则执行语句块;

双分支语法结构: 当条件为True时,执行语句块1,当条件为False时执行语句块2,其中if……else都是保留字;

循环语句和分支结构一样都是程序控制语句,它的作用是根据判断条件确定一个程序是否再执行一次或多次;
条件循环的语法结构: 当条件为True时,执行语句块1,然后再次判断,当条件为False时,退出循环,执行语句块2;

基本输入输出函数
input()函数
input函数是从控制台获取用户的一行输入,无论用户输入什么内容,input函数都以字符串类型返回;input函数可以包含一些提示性文字,用来提示用户;
input语法格式: 无论用户输入的是数字还是字符,input函数统一按照字符串类型输出,为了后续能够操作用户输入的信息,需要添加一个变量进行存储;

input函数提示文字可写可不写,不是必须的;
eval()函数
eval(str)函数将去掉字符串最外侧的引号,并按照python语句方式去执行去掉引号之后的字符内容,说白了就是一个可以将内容当成python语言执行的函数;作者:博客园-狐小妖
eval()语法格式: 变量用来存储对字符串内容进行python执行后的结果,如果没有运算返回的结果,只有执行,那么变量就为空;

eval()函数去掉了str1最外层的引号,并当成python语句来执行之后(这步是运算),会返回一个运算之后的结果:3.2,保存到str1,输出他的类型就是float,str2中,eval函数将内容当做python语句来执行之后,并没有返回结果,但是有一个输出,所以会输出:博客园-狐小妖,而我们下面打印输出str2自然是None;
当你输入一个错误格式的python语句进去后,他会将其当成变量,并查找相关变量的值,如果没有查到,就会报错,如果查到则执行;

当eval函数处理str3时候发现str3变量中存储的内容是abcd,去掉两边引号,发现这并不是一个python语句,那就当成变量执行,但是执行时发现没有相关定义,所以报错;如果定义abcd为变量,并存储内容为python的语句或者变量,那么就会成功执行;
eval函数经常用来和input函数一起使用,用来获取用户输入数据;
eval()与input()函数一起使用的语法:- 变量 = eval(input("提示性文字:"))
复制代码 用户输入的数字、小数、负数,input函数会解析成为字符串,再由eval函数去掉字符串引号,将被直接解析为数字保存到变量中;

(个人是学习安全的,这个函数我觉得尽量减少使用,如图)

print()函数
print函数用于输出运算结果;
print()函数的三种用法:
仅用于输出字符串或单个变量;
print("待输出字符串或变量")
对于字符串,print函数输出后将去掉两侧引号,对于其他类型,则直接输出;
当print输出字符串时,字符串统一使用单引号表达,在[ ]中的字符串都使用了双引号,但是在采用print输出时,输出结果都采用了单引号;

用于输出一个变量或多个变量,输出后的各变量之间用一个空格分隔;
print(变量1, 变量2, ……, 变量n)

用于混合输出字符串与变量的值,其中字符串模板使用{ }表示一个槽位,每个槽位对应.format()中的一个变量;
print("输出字符模板".format(变量1, 变量2, 变量3))

"本文发布的平台:{}\n作者是:{}\n博客地址:{}"是字符串模板,也就是混合字符串输出的样式,大括号{}表示一个槽位,括号中的内容由后面紧跟着的format()方法中的参数按顺序填充;
print函数输出文本时会默认在最后增加一个换行,如果不希望在最后增加这个换行,或者希望输出文本后增加其他内容,可以对print函数的end参数进行赋值;
语法结构为:
print("待输出内容", end='增加的结尾')

练习写代码
编写一段程序,获取用户输入,采用倒叙输出用户的内容;
举例:
输入:123456
输出:654321
提示:
采用input函数获取输入,输出采用print,对于输入字符串s,采用循环语句依次从后向前提取字符,并逐个打印输出;在编写代码时还将使用到获取字符串长度的函数len和print函数的end参数;
实现方式1:(正向递增序号)

实现方式2:(反向递减序号)

第二阶段考核测验
选择题
- 以下哪个选项不是python语言的保留字?
- s='0123456789',以下哪个选项表示‘0123’
- s[1:5]
- s[0:4]
- s[0:3]
- s[-10:-5]
- x=2,y=3,执行x,y=y,x之后,x和y的值分别是什么?
- 以下不是python的注释方式的是( )
- 关于本篇文章的作者是( )
- 该发布者
- CSDN当前发布者
- 博客园狐小妖
- 百度文库当前发布者
- len('hello world!')的输出结果为( )
- 以下变量名不合法的是( )
- 以下赋值语句中合法的是( )
- x=2,y=3
- x=y=3
- x=2 y=3
- x=(y=3)
- "世界很大"+"人很渺小"的输出结果是( )
- 世界很大人很渺小
- "世界很大""人很渺小"
- "世界很大"+"人很渺小"
- 世界很大+人很渺小
- 与0xf2值相等的是( )
答案:CBBCC DABAB
编程题
- 获得用户输入的一个整数N,计算并输出N的32次方;

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |