Python(基础) 变量、数据类型和运算符

一、变量

1.变量

1.1. 概念

定义: 程序在运行的过程中,值可以随时发生改变

作用:存储数据,参与运算

1.2. 定义

定义格式:变量名 = 初始值

说明:

​ 变量名: 对于每一个变量,需要给他定义一个名称,定义的规则就是标识符的规则

​ 初始值:第一次给变量赋予的值,在程序运行的过程中,这个值可以随时发生改变

举例:age = 10

​ age是变量名,10是初始值

#Python中的变量的定义和数学中变量的定义完全一致
x = 3
y = 4
print(x * y)

x = "abc"
#print(x * y)

#【扩展】
#Python被称为弱类型语言,动态改变变量的数据类型,容错性比较高
#Java被称为强类型语言,只要变量被定义,它的数据类型将不能发生任何的改变
1.3.删除变量

注意:当定义一个变量,然后删除,相当于这个变量未被定义

代码演示:

#定义变量
num = 66
print(num)

#删除变量
#del
del num
print(num)       # 会报错
1.4.关键字

关键字: 在Python中,已经被赋予了特殊含义的英文单词

import keyword
print(keyword.kwlist)

常见的关键词有:

‘False’, ‘None’, ‘True’, ‘and’, ‘as’, ‘assert’, ‘async’, ‘await’, ‘break’, ‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘except’, ‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’, ‘nonlocal’, ‘not’, ‘or’, ‘pass’, ‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, ‘yield’

1.6.标识符

在python中自定义合法的一些英文单词

规则(必须遵守):
1. 必须由数字,字母,下划线组成,且第一个不能是数字
2. 不能使用关键字
规范(可选):
1. 字母是区分大小写,尽量不用大小写来区分不同的变量
2. 尽量见名知意
3. 多个单词可以使用下划线分开(推荐)
4. 遵循驼峰命名法,不同的单词之间使用首字母大写的方式进行分隔

扩展: 其他标识符的命名规则:
常量: 常量名所有字母大写,由下划线连接各个单词如MAX_OVERFLOW,TOTAL
函数&方法: 函数名应该为小写,可以用下划线风格单词以增加可读性。如:my_function,my_example_function。
文件名: 全小写,可使用下划线
包: 应该是简短的、小写的名字。如果下划线可以改善可读性可以加入
模块: 与包相同
类: 总是使用

二、数据类型

远不止数值,还有文本,图形,音频,视频网页等各种数据, 不同数据需要定义不同的数据类型

Number 【数字:整型int,浮点型[小数]float,复数类型complex】
String 【字符串】
Boolean 【布尔类型】 True真(1), Flase假(0)
None【空值】
list【列表】类似c语言的数组
tuple 【元组】 不可改变的列表,元素唯一
dict 【字典】
set 【集合】(了解)
bytes 【字节】b’hello’

三、运算符

1.算数运算符

*【乘法】 /【除法】 %【求余,取模】 **【求幂,次方】 //【取整】

代码演示:

print(10 + 4)
print(10 - 4)
print(10 * 4)
print(10 / 4)
print(10 % 4)
print(10 ** 4)
print(10 // 4)

2.赋值运算符

简单赋值运算符:= 给一个变量进行赋值

复合赋值运算符:+= -= %= /= … 给一个变量进行赋值,同时给变量进行相应的运算

代码演示:

#简单
num1 = 10
#注意:在赋值运算符中,先计算等号右边的表达式,然后将计算的结果赋值给等号左边的变量
num2 = num1 + 10
print(num2)

#复合
num3 = 10
num3 += 100   #等价于num3 = num3 + 100
print(num3)

3.关系运算符

作用:比较大小,得到结果为布尔值【如果表达式成立,则返回True,如果不成立,则返回False

== 【等号】, !=【不等于】,> 【小于】,>=【小于或等于】,<【大于】,<= 【大于或等于】

代码演示:

print(10 + 4)
print(10 - 4)
print(10 * 4)
print(10 / 4)
print(10 % 4)
print(10 ** 4)
print(10 // 4)

4 逻辑运算符

and 与 , or 或, not 非

代码演示:

# and   两边都为真则True, 只要有一个为假则为False
print("--------and----------")
print(True and True)
print(True and False)
print(False and True)
print(False and False)

# or  两边都为假则为False,只要有一个为真则为True
print("--------or----------")
print(True or True)
print(True or False)
print(False or True)
print(False or False)

# not: 一定会得到一个bool值
print("--------or----------")
print(not True)
print(not False

短路操作:

# 短路操作
# and : 两边都为真则为真,只要有一个假则为假
print("---------and-----------")
x = 10 and 3 and [] and 5
x = 10 and print(9)
print(x)

# or : 两边都为假则为假, 只要有一个为真则为真
print("---------or-----------")
x = 0 or 3 or 4
x = 0 or 3 or print(2)
print(x)

逻辑运算的结果只能是True和False,Boolea数据类型的值只有True和False,常见的bool值如下:

# bool(牢记)
# 数值类型:0是假的,其他的都为真
# 字符串:""空字符串是假的,其他都为真
# None类型:None是假的
# list类型:[]空列表为假,其他为真
# dict类型:{}空字典为假,其他为真

5.成员运算符

成员运算符:

in,not in

print(1 in [1,2,3])
print("abc" not in "abcdefg")

6.身份运算符

身份运算符:

is,is not

# 判断内存地址是否相同
# id(): 查看内存地址
a = 100
b = 100
print(id(a))    # 140715017625728
print(id(b))    # 140715017625728
print(a is b)   # True
print(a is not b) # False

7. 位运算符

前提:将数字转换为二进制使用
&【按位与】 |【按位或】 ^【按位异或】 ~【按位取反】 << 【左移】 >>【右移】

代码演示:

# 位运算符
print(12 & 5)   # 位与
# 1100 => 12
# 0101 => 5 
# -------------
# 0100 => 4
print(12 | 5)   # 位或
# 1100 => 12
# 0101 => 5
# -------------
# 1101 => 13
print(12 ^ 5) # 位异或
# 1100 => 12  
# 0101 => 5   
# -------------
# 1001 => 9
print(12 >> 2)
# 1100 => 12
#   11 => 3
print(12 << 2)
# 1100 => 12
# 110000 => 48
print(~6)    # 按位取反, -7
# 00000000 00000000 00000000 00000110 => 6
# 11111111 11111111 11111111 11111001 ~6   补码
# 源码 反码 补码
# 11111111 11111111 11111111 11111000  反码
# 10000000 00000000 00000000 00000111  源码

你可能感兴趣的:(python基础,python)