1.前言在上一篇文章中,我们已经了解了Python,也了解了Pycharm的安装和使用。现在是时候正式进入正题了,接下来就是学习Python的相关语法以及如何使用它们进行编程了。今天的主要内容是介绍Python中的以下知识点:变量数据类型运算符2.变量2.1什么是变量所谓变量一开始其实起源于数学。在计算机语言中,变量是指可以存储计算结果或表示值的抽象概念。我们可以通过变量名访问变量。在Python中,变量通常是可变的。它们不仅可以表示数字,还可以表示任何数据类型。2.2变量命名规则在Python中,变量是通过标识符来命名的,标识符是程序中用来命名变量、类和方法的符号。简单来说,标识符就是一个合法的名称。什么是合法名称?那么我们来看看Python中标识符的命名规则。在Python中,标识符必须以字母、下划线开头,后面可以跟任意数量的字母、数字和下划线,并且区分大小写。总结起来有以下几点:变量名只能包含字母、数字和下划线,并且只能以字母或下划线开头,不能以数字开头。例如,我们可以将一个变量命名为cunyu_1943,_cunyu1943,但不能命名为1943_cunyu;variable名称不能包含空格,但可以用下划线分隔。例如,可以命名为student_name,但不能命名为studentname;变量名应尽可能简短并具有描述性。比如我们的变量名是name,别人一看就知道这是表示名称,但是如果我们将它命名为n,可能要花更多的时间才能弄清楚它是什么意思;不要使用Python中的关键字和内置函数名作为变量名,Python中常见的关键字和内置函数如下;关键字描述和逻辑运算符as创建别名assert用于调试break跳出循环class定义类continue继续循环的下一次迭代def定义函数del删除对象elif用于条件语句,其中相当于inelseifelse用在条件语句除了处理异常,异常发生时如何执行False布尔值,比较运算的结果最终处理异常,不管是否有异常,a将执行一段代码for从导入模块的特定部分创建一个for循环global语句globalvariableif写入条件语句import导入一个模块in检查一个值是否存在于集合中,例如列表,元组等。is测试两个变量是否相等lambda创建一个匿名函数None表示空值nonlocal声明一个非局部变量非逻辑运算符ororlogicaloperatorpassnull语句,什么都不做的语句引发异常return退出函数并返回True布尔值,比较操作的结果try写一个try...except语句while创建一个while循环withisused简化异常处理yield结束函数,返回生成器内置函数abs()delattr()hash()memoryview()set()all()dict()help()min()setattr()any()dir()hex()next()slice()ascii()divmod()id()object()sorted()bin()enumerate()input()oct()staticmethod()bool()eval()int()打开()str()breakpoint()exec()isinstance()ord()sum()bytearray()filter()issubclass()pow()super()bytes()float()iter()print()tuple()callable()format()len()property()type()chr()frozenset()list()range()vars()classmethod()getattr()locals()repr()zip()compile()globals()map()reversed()__import__()complex()hasattr()max()round()3.数据类型要处理各种文本、图形、音频、视频等数据,仅仅使用数值类型是不够的,我们需要更多的数据类型用于定义不同的数据。在Python中,主要有以下几种数据类型:3.1Numbernumber数据类型用于存储值,是不可改变的数据类型。也就是说,每次更改数字数据类型时,都会分配一个新对象。当我们给变量赋值时,会创建number对象,如果要删除这些对象的引用,可以使用del语句;#createobjectnumber=1#deletethereferencedelnumberPython支持以下不同的数字类型;int:整数(??Python2.x有int和long,Python3.x只有int),可以处理任意大小的整数,支持常见的二进制、八进制、十进制和十六进制;float:浮点型,即数学中的小数。浮点数的小数点位置是可变的。不仅可以用数学计数法(456.78)表示,还支持科学计数法(4.5678e2);complex:复数类型,由实部和虚部组成,形式为a+bj的形式,与数学中的复数表示相同,只是将i改为j;3.2字符串是用单引号或双引号括起来的任何文本,如“cunyu1943”和'cunyu1943',也可以写成多行的形式(以三个单引号或三个双引号开头,以三个结尾单引号或三个双引号)'''公众号:HarukaMurasameblog:cunyu1943.site'''"""公众号:CunyuHarukablog:cunyu1943.site"""Python中的字符串有两个值顺序:索引从左到右,索引值从0开始,最大索引值为字符串长度减1;索引从右到左,索引值从-1开始,最大索引值是字符串的开头;如果我们想从字符串摘要中获取一个小的子串,可以使用[headsubscript:tailsubscript]来截取。注意左闭右开原则,即[headsubscript:tailsubscript]得到的子串包含head下标的字符,但不包含tail下标的字符;添加我们的strings='abcdef',那么不同方式索引的结果如下图所示:3.3listlist是一个有序的集合,可以随时增删元素,用[]标记,内部元素是以逗号分隔,元素可以是字符、数字、字符串等数据类型,是Python中最常用的复合数据类型。类似于字符串,也可以使用[headsubscript:tailsubscript]的方法截取对应的子列表。索引方法与字符串相同。示例如下:list中常用方法如下:方法说明len(list)listelementsnumberlist(seq)将元组转换为列表list.pop()删除list末尾的元素.pop(index)删除列表中索引位置为index的元素.insert(index,obj)将对象插入列表中的指定位置list.remove(obj)删除列表列表中第一次出现的值。reverse()反转列表中的元素list.index(obj)从列表中找到第一个匹配值的索引位置list.sort(cmp=None,key=None,reverse=False)执行原始列表排序,reverse=True降序,reverse=False升序(默认)如果我们要连接不同的列表,怎么办,这时候可以用+来连接不同的数组;>>>list1=[1,2,3]>>>list2=[4,5,6]>>>print(list2+list2)[1,2,3,4,5,6]如果我们想要某个列表要重复,我们可以使用*;>>>list1=[1,3,4]>>>print(list1*2)[1,3,4,1,3,4]3.4元组也是一个类似于list的有序列表,使用()标记,内部元素用逗号分隔。两者最大的区别之一是元组一旦初始化就不能再修改,相当于一个只读列表,所以元组没有append()、insert()等方法。喜欢列表;常用方法如下:方法说明len(tuple)统计元组元素个数tuple(seq)将列表转换为元组max(tuple)返回元组中元素的最大值min(tuple)返回最小值元组中元素的值如果我们要定义一个空元组,可以这样使用:tuple=()而如果元组中只有一个元素,为了避免歧义,通常需要定义为如下形式:t=(1,)3.5字典列表是对象的有序集合,而字典是对象的无序集合。字典用{}标记,元素用逗号分隔。每个元素由键:值组成。两者的区别在于字典中的元素是通过键值对访问的,而不是通过偏移量访问的。虽然字典的值可以是无限的,但是键是有限的。有两个要点要记住:同一个键不允许出现两次;键必须是不可变的,因此它可以是数字、字符串或元组,但不能使用列表;字典也有很多方法供我们使用,主要方法总结如下:方法说明len(dict)计算字典元素个数,即键的总数dictionarytype(variable)返回输入的变量类型,如果变量是字典,则返回字典类型dict.clear()删除字典中的所有元素dict.copy()返回字典的浅拷贝dict.haskey(key)如果键在字典dict中则返回True,否则返回Falsedict.get(key)返回指定键的值dict.keys()返回包含列表中所有键的字典dict.values()返回所有值在列表中的字典中dict.items()返回一个可遍历的(key,value)元组数组pop(key)删除字典中给定键key对应的值,返回值为删除的值popitem()返回并删除最后一对键和值e字典中的3.6BooleanBoolean只有True、False两个值,要么True,要么False。在Python中,布尔值可以直接用True和False表示,也可以通过布尔运算计算。>>>假假>>>3>2真4。运算符Python支持多种运算符,但运算符也有优先级。下表按优先级从高到低的顺序粗略列出了所有运算符。下面介绍运营商的类别;运算符说明**指数(最高优先级)~+-按位翻转,一元加减(最后两种方法命名为+@和-@)*/%//乘法、除法、取模和舍入+-加减法>><<右移、左移运算符&位'AND'`^`位运算符<=<>>=比较运算符<>==!=等于运算符=%=/=//=-=+=*=**=赋值运算符isisnotidentityoperatorinnotinmembershipoperatornotandorlogicaloperator4.1算术运算符假设变量a=10,b=20:运算符描述instance+plus-两个对象相加a+b输出结果30-minus-得到一个负数或一个数减去另一个数a-b输出结果-10*multiply-两个数相乘或返回一个重复几次的字符串a*b输出结果200/division-x除以yb/a输出结果2%modulo-返回除b的余数%a输出结果0**power-返回x的y次方,a**b为10到20次方,输出结果为100000000000000000000//四舍五入-返回商的整数部分(向下四舍五入)>>>9//24>>>-9//2-54.2比较运算符假设变量a=10、b=20:运算符说明Instance==Equals-比较对象是否相等(a==b)返回False!=NotEqual-比较两个对象是否不相等(a!=b)返回True<>notequal-比较两个对象是否不相等。python3已弃用。(a<>b)返回真。此运算符类似于!=>greaterthan-返回x是否大于y(a>b)返回False
