200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > Python 学习之 --- 语法部分(变量 标识符 关键字 进制转换 数据类型转换 运算符)

Python 学习之 --- 语法部分(变量 标识符 关键字 进制转换 数据类型转换 运算符)

时间:2022-03-25 15:00:18

相关推荐

Python 学习之 --- 语法部分(变量 标识符 关键字 进制转换 数据类型转换 运算符)

文章目录

一、变量1. 变量类型2. 示例二、标识符1. 命名规则2. 示例三、关键字四、进制转换五、数据类型转换六、运算符1. 算数运算符2. 赋值运算符和复合赋值运算符3. 比较运算符4. 逻辑运算符5. 成员运算符6. 身份运算符7. 位运算符8. 运算符优先级

一、变量

Python 中的变量用来存储数据。变量可以理解为去超市购物的购物车,其类型和值在赋值的那一刻被初始化。

/python/python-variable-types.html

1. 变量类型

数字类型布尔类型字符串类型列表类型元组类型字典类型

2. 示例

简单数据类型

a=1print(a)print(type(a))a="abc"print(type(a))a=1.5print(type(a))b=1+2jprint(type(b))c=Trueprint(type(c))c=Falseprint(type(c))d='adsadsad1113111311'print(type(d))#单引号和双引号没什么区别,三引号主要用于接收跨行输入#三引号如果不是用来赋值那么就是多行注释#三个双引号也是注释e=''' asdsaadasdas553133'''print(type(e))

结果

<class 'int'><class 'str'><class 'float'><class 'complex'><class 'bool'><class 'bool'><class 'str'><class 'str'>

复杂数据类型

#array数组,可以查看更改arr=[1,2,3,4,5]print(type(arr))print(arr[0])# 0 1 2 3 4print(arr[3])#tuple元组,只能看,不能改,速度比数组快tpl=(1,"abc",1.56)print(type(tpl))#字典dic={"name":"wangwu","age":18,"gender":'男'}print(type(dic))print(dic)

结果

<class 'list'>14<class 'tuple'><class 'dict'>{'name': 'wangwu', 'age': 18, 'gender': '男'}

二、标识符

若希望在程序中表示一些事物,开发人员需要自定义一些符号和名称,这些符号和名称叫做标识符。

1. 命名规则

标示符由字母、下划线和数字组成,且数字不能开头。Python 中的标识符是区分大小写的。Python 中的标识符不能使用关键字。

2. 示例

###演示标识符(变量命名规则)name="zhangsan"print(name)hello123="你好吗david"print(hello123)a=0x1ab#16进制print(a)_abc="133adsa" #在大型程序中下划线开头通常代表元程序,不能随意乱动print(_abc)

结果

zhangsan你好吗david427133adsa

三、关键字

关键字指的是具有特殊功能的标识符。建议用户不要自行定义。

关键字查看

>>>help()#进入帮助系统help> keywords#查看所有的关键字列表help> return#查看 return 这个关键字的说明help> quit#退出帮助系统

示例

(venv) C:\Users\15205\PycharmProjects\hello_project>pythonPython 3.8.10 (tags/v3.8.10:3d8993a, May 3 , 11:48:03) [MSC v.1928 64 bit (AMD64)] on win32Type "help", "copyright", "credits" or "license" for more information.>>> help()Welcome to Python 3.8's help utility!If this is your first time using Python, you should definitely check outthe tutorial on the Internet at /3.8/tutorial/.Enter the name of any module, keyword, or topic to get help on writingPython programs and using Python modules. To quit this help utility andreturn to the interpreter, just type "quit".To get a list of available modules, keywords, symbols, or topics, type"modules", "keywords", "symbols", or "topics". Each module also comeswith a one-line summary of what it does; to list the modules whose nameor summary contain a given string such as "spam", type "modules spam".help> keywordsHere is a list of the Python keywords. Enter any keyword to get more help.FalseclassfromorNonecontinue global passTruedef if raiseand del import returnas elifin tryassert elseis whileasyncexcept lambda withawaitfinally nonlocal yieldbreakfor not

四、进制转换

/weixin_43353539/article/details/89444838

下面说一个简单方法

五、数据类型转换

有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。

示例

#演示类型转换result1=int(1.0)print(result1)result2=int(1.9)print(result1)##截取整数部分,小数部分舍弃,没有四舍五入#当然也有例外,小数位到达最大保留位result3=int(1.99999999999999999) #17位小数位print(result3)

结果

112

六、运算符

1. 算数运算符

以下假设变量: a=10,b=20

示例

#演示算数运算符import matha=5b=2print(a+b)print(a-b)print(a*b)print(a/b)print(a//b)print(a%b)print(a**b)print(b**a)print(math.sqrt(b))#开方,需要导入 math 包,import mathprint(math.sqrt(a))

结果

73102.52125321.41421356237309512.23606797749979

2. 赋值运算符和复合赋值运算符

赋值运算符只有一个,即=,它的作用是把等号右边的值赋给左边。例如,num=1+2。

为多个变量赋同一个值:x=y=z=1将多个值赋值给多个变量:a, b = 1,2

假设变量 a 为 10,变量 b 为 20

示例

a = 21b = 10c = 0c = a + bprint "1 - c 的值为:", cc += aprint "2 - c 的值为:", c c *= aprint "3 - c 的值为:", c c /= a print "4 - c 的值为:", c c = 2c %= aprint "5 - c 的值为:", cc **= aprint "6 - c 的值为:", cc //= aprint "7 - c 的值为:", c

结果

1 - c 的值为: 312 - c 的值为: 523 - c 的值为: 10924 - c 的值为: 525 - c 的值为: 26 - c 的值为: 20971527 - c 的值为: 99864

3. 比较运算符

假设变量 a 为 10,变量 b 为 20

示例

a = 21b = 10c = 0if a == b :print "1 - a 等于 b"else:print "1 - a 不等于 b"if a != b :print "2 - a 不等于 b"else:print "2 - a 等于 b"if a <> b :print "3 - a 不等于 b"else:print "3 - a 等于 b"if a < b :print "4 - a 小于 b" else:print "4 - a 大于等于 b"if a > b :print "5 - a 大于 b"else:print "5 - a 小于等于 b"# 修改变量 a 和 b 的值a = 5b = 20if a <= b :print "6 - a 小于等于 b"else:print "6 - a 大于 b"if b >= a :print "7 - b 大于等于 a"else:print "7 - b 小于 a"

结果

1 - a 不等于 b2 - a 不等于 b3 - a 不等于 b4 - a 大于等于 b5 - a 大于 b6 - a 小于等于 b7 - b 大于等于 a

4. 逻辑运算符

Python 语言支持逻辑运算符,以下假设变量 a 为 10,b为 20。

示例

a = 10b = 20if a and b :print "1 - 变量 a 和 b 都为 true"else:print "1 - 变量 a 和 b 有一个不为 true"if a or b :print "2 - 变量 a 和 b 都为 true,或其中一个变量为 true"else:print "2 - 变量 a 和 b 都不为 true"# 修改变量 a 的值a = 0if a and b :print "3 - 变量 a 和 b 都为 true"else:print "3 - 变量 a 和 b 有一个不为 true"if a or b :print "4 - 变量 a 和 b 都为 true,或其中一个变量为 true"else:print "4 - 变量 a 和 b 都不为 true"if not( a and b ):print "5 - 变量 a 和 b 都为 false,或其中一个变量为 false"else:print "5 - 变量 a 和 b 都为 true"

结果

1 - 变量 a 和 b 都为 true2 - 变量 a 和 b 都为 true,或其中一个变量为 true3 - 变量 a 和 b 有一个不为 true4 - 变量 a 和 b 都为 true,或其中一个变量为 true5 - 变量 a 和 b 都为 false,或其中一个变量为 false

5. 成员运算符

示例

a = 10b = 20list = [1, 2, 3, 4, 5 ];if ( a in list ):print "1 - 变量 a 在给定的列表中 list 中"else:print "1 - 变量 a 不在给定的列表中 list 中"if ( b not in list ):print "2 - 变量 b 不在给定的列表中 list 中"else:print "2 - 变量 b 在给定的列表中 list 中"# 修改变量 a 的值a = 2if ( a in list ):print "3 - 变量 a 在给定的列表中 list 中"else:print "3 - 变量 a 不在给定的列表中 list 中"

结果

1 - 变量 a 不在给定的列表中 list 中2 - 变量 b 不在给定的列表中 list 中3 - 变量 a 在给定的列表中 list 中

6. 身份运算符

身份运算符用于比较两个对象的存储单元。

注: id() 函数用于获取对象内存地址。

以下实例演示了Python所有身份运算符的操作:

示例

a = 20b = 20if ( a is b ):print "1 - a 和 b 有相同的标识"else:print "1 - a 和 b 没有相同的标识"if ( a is not b ):print "2 - a 和 b 没有相同的标识"else:print "2 - a 和 b 有相同的标识"# 修改变量 b 的值b = 30if ( a is b ):print "3 - a 和 b 有相同的标识"else:print "3 - a 和 b 没有相同的标识"if ( a is not b ):print "4 - a 和 b 没有相同的标识"else:print "4 - a 和 b 有相同的标识"

结果

1 - a 和 b 有相同的标识2 - a 和 b 有相同的标识3 - a 和 b 没有相同的标识4 - a 和 b 没有相同的标识

is 与 == 区别:

is 用于判断两个变量引用对象是否为同一个(同一块内存空间), == 用于判断引用变量的值是否相等。

>>> a = [1, 2, 3]>>> b = a>>> b is a True>>> b == aTrue>>> b = a[:]>>> b is aFalse>>> b == aTrue

7. 位运算符

按位运算符是把数字看作二进制来进行计算的。假设变量 a 为 60,b 为 13,二进制格式如下:

a = 0011 1100b = 0000 1101-----------------a&b = 0000 1100a|b = 0011 1101a^b = 0011 0001~a = 1100 0011

示例

a = 60 # 60 = 0011 1100 b = 13 # 13 = 0000 1101 c = 0c = a & b; # 12 = 0000 1100print "1 - c 的值为:", cc = a | b; # 61 = 0011 1101 print "2 - c 的值为:", cc = a ^ b; # 49 = 0011 0001print "3 - c 的值为:", cc = ~a; # -61 = 1100 0011print "4 - c 的值为:", cc = a << 2; # 240 = 1111 0000print "5 - c 的值为:", cc = a >> 2; # 15 = 0000 1111print "6 - c 的值为:", c

结果

1 - c 的值为: 122 - c 的值为: 613 - c 的值为: 494 - c 的值为: -615 - c 的值为: 2406 - c 的值为: 15

左移:相当于乘以 2

右移:相当于除以 2

按位与:对两个整数的二进制按位判断,都是 1 的结果才是 1

按位或:对两个整数的二进制按位判断,都是 0 的结果才是 0

按位异或:对两个整数的二进制按位判断,不同为 1,相同为 0(相同为假,不同为真)

按位取反:对一个整数的二进制按位取反,符号位会变化。因此结果为取反的值减去最大值 +1。可以直接用原数 +1,变符号。

8. 运算符优先级

以下表格列出了从最高到最低优先级的所有运算符:

示例

a = 20b = 10c = 15d = 5e = 0e = (a + b) * c / d #( 30 * 15 ) / 5print "(a + b) * c / d 运算结果为:", ee = ((a + b) * c) / d# (30 * 15 ) / 5print "((a + b) * c) / d 运算结果为:", ee = (a + b) * (c / d); # (30) * (15/5)print "(a + b) * (c / d) 运算结果为:", ee = a + (b * c) / d;# 20 + (150/5)print "a + (b * c) / d 运算结果为:", e

结果

(a + b) * c / d 运算结果为: 90((a + b) * c) / d 运算结果为: 90(a + b) * (c / d) 运算结果为: 90a + (b * c) / d 运算结果为: 50

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。