2026.3.19+3.20上

python基础

1.变量2.常量3.数据类型4.常用的字符和运算符

1.变量
形如 a = 5,用于和数据之间建立绑定关系,通过变量可以使用数据
赋值:右侧的值给了左侧变量
命名规则(等号左侧)
1.不可以是关键字 不能用横杠 例如 or if等等
2.命名不可以是内置函数名 例如 print
3.命名严格区分大小写,大小写不一样 变量名字不一样
4.命名不可以数字开头不能包含空格 例如1weight
5.命名要语义化
推荐使用小写字母加下划线,例如 user_name = 'wang' 蛇形

实际Pycharm中 赋值格式和输出格式如下:

user_name = 'wang' #蛇形
print(user_name)   #将user_name打印出来

输入结果:

2.常量

是程序运行过程中值固定不变的量(和变量相反,变量可以随意修改)

但是没有强制不变的量 用命名规则束缚

命名规则

1.全部使用大写字母

2.单词之间用下划线 _ 分隔

例如:PI_NAME = ’王‘

3.数据类型

一共分为两种基础数据类型和复杂数据类型;现在只介绍基础数据类型

基础数据类型:

1.字符串类型:str,引号包裹的数据都是字符串
2.整形:int,例如:正整数,负整数 0
3.浮点型:float,只要是带小数点的数字都是浮点型
上面三种形式上就是等号右侧 是给变量赋值的那个量 
4.布尔类型:bool 只有两个固定值 True和False True=1 False=0
5.空值:只有一个值None,不是0也不是空字符串 表示没有存储任何数据

下面详细介绍字符串型

字符串只能与字符串进行拼接,例如

msg = '王' + 11
print(msg)

此为错误示范 字符串型与整型无法进行拼接

占位符

%s 代表字符串型,但其他的也能占位

%i 只能占位整型

%f 只能占位浮点型

%d 只能占位十进制型

%m.ns m:字符串的最小宽度,位数不够使用空格自动补全,正数是右对齐,负数是左对齐
      n:精度控制,最多展示几个字符
%m.nf m:整体宽度(整数+小数点+小数),位数不够,空格补齐
      n:精度控制 保留n位小数 默认保留6位小鼠
#m.nd m:最小宽度,位数不够空格来补,正右负左
      n:精度控制,最少显示数字 位数不够0来补齐

但最常用的还是下面这个:

f-string型 注意格式

name = '王一一'
gender = '男'
height = '178'
weight = '65.5'
info5 = f'我叫{name},我是{gender},我身高{height},我体重{weight}kg'

运行结果如下:

数型和浮点型很简单不做过多介绍,下面介绍布尔型

布尔值:有True和False条件是否成立,例如事件是否发生,操作是否成功的逻辑相关功能

a = True
b = False
c = 6 > 5
print(type(a)) #判断a的数据类型
print(type(b))
print(type(c))

可以看到a和b和c都是bool型,

布尔类型是int的子类型

print(int(True)) #1
print(int(False)) #0

当True和False参与运算时,会被视为1和0

print(True + True)
print(True - True)
print(1 >= True)
print(True <= 0)

转布尔值

任意非0的数字转布尔值都为True数字0的转布尔值为False,*非空的字符串*转布尔值也为True空字符串转布尔值为False

print(bool(1))   #1的bool值
print(bool(100))
print(bool(0))   #为0,结果为False
print(bool(''))  #为空字符串 结果为False
print(bool(' ')) #有空格依然为True

判断数据类型**

变量:
res = type('zs') 字符串
res2 = type('15') 字符串
res3 = type(15) 整型
res4 = type(15.0) 浮点型
print(res)
print(res2)
print(res3)
print(res4)

运行结果如下:

数据类型的转换

数据类型:
int:整型 int()转整型
     带有中文的值。字符串的浮点型,不可以转换
float:浮点型 float()转浮点型
       中间带有空格数字,和汉字的值不可以转
       纯数字,整型,浮点型,都可以转
str:字符串型 str()转字符串型
     任何类型的数据都可以转为字符串型的数据

分隔符(当一些数字较大的时候使用,3.6版本以上使用)

num1 = 1_000_000
print(num1)

科学计数法

sound_speed = 3.4e+2 #=340 3.4*10的二次方 其中+可省略
persons = 1.3e9 # =13亿 1.3*10的九次方
persons1 = 1.3E+9 #1.3*10的九次方 +可省略

one_ml = 1e-3 # 1*10的-3次方 -不能省略 e可以大小写

转义字符

# \'表示输出'
print('欢迎\'你们\'')
#\n 表示换行
print('请输入您的姓名:\n姓名:')
#\\ 表示输出一个\,常用于文件路径,因为\n表示换行 所以需要\\n
print('\\note')
#\b 删除前一个字符
print('helloo\b')
#\r 后面的内容覆盖前边的内容
print('99%\r100%')
#\t 制表符
print('姓名\t年龄\t性别')
print('sir\t18\t男')

运算符

python中除常见的运算符 + - * / 外 还有:

取整://
取余:%
指数运算:**

赋值运算符 = 例如 a = 8 其中 = 就是赋值运算符

age = 18
age += 1 #相当于 age = age + 1
print(age)
age -= 1 #相当于 age = age - 1
print(age)
age *= 1 #相当于 age = age * 1
print(age)
age /= 1 #相当于 age = age / 1
print(age)
age %= 4 #相当于 age = age % 4
print(age)
age **= 2#相当于 age = age ** 2
print(age)
age //= 1#相当于 age = age // 1
print(age)

输出结果如下:

比较运算符(True和False)

比较运算符返回的是布尔值,布尔值只有两个值:True和False

a = 8
b = 5
c = '8'
d = 3.5
print(a == b)
print(a != b) #不等于号
print(a == c) #字符串和整型之间无法作比较
print(a > d)
字符串做比较之前先转成unicode码,然后在做对比
使用内置函数ord(),将字符转为unicode
使用内置函数chr(),将unicode码转为字符
res = '王某人'
res2 = '蔡徐坤'
print(res < res2)
print(ord('王'))
print(ord('王') < ord('坤'))
print(chr(29579))

逻辑运算符

or:表示逻辑 ‘或’,not:表示逻辑 ‘非’,and:表示逻辑 ‘与’。

or:表示逻辑 或  判断两边是否有一个为真,一真则真
print(True or False)
print(False or False)

and:表示逻辑  与 判断两边的值是否都为真,一假则假
print(False and True)
print(True and True)
print(False and False)

and 和or都具有逻辑短路功能
print(False and 3/0) #and一假即假,没有解析到3/0的代码
print(True or 3/0) #or一真即真,没有解析到3/0

not:表示逻辑 非 ,定义一个值进行取反,not的返回值一定为布尔值
print(not True)
print(not False)
print(not 3>2)
print(not '') #空字符为False
print(not 9)

转布尔值是先转成True和False再进行判断的,输出出来为原来的值

类似于判断大小的不需要转布尔值在进行判断的,输出出来为布尔值

and 表示‘与’,一假即假,相当于是找错误,如果都正确 ,看最后一个值判断输出的是布尔值还是原来的值。

or 表示 ‘或’,一真即真,相当于是找正确,如果都错误,看最后一个值判断输出的是布尔值还是原来的值。

print(False or False)
print(0 or True)
print(False or 3*5)
print(False or 'a')
print(False and 'a')
print('a' and 7>3 )

上处不易理解 需自己逐个理解,并自己输入类似几个进行验证。

进制

十进制:0 1 2 3 4 5 6 7 8 9 10

二进制:0 1 10 11 101 110 满二进一

八进制:0 1 2 3 4 5 6 7 10

十六进制: 0 1 2 3 4 5 6 7 8 9 a b c d e f

#十进制转二进制
print(bin(25)) #0b11001
#十进制转八进制
print(oct(540)) #0c1034
#十进制转十六进制
print(hex(463)) #0x1cf

print(int('0b11001', 2)) #二进制转十进制
print(int('0o1034', 8))  #八进制转十进制
print(int('0x1cf', 16))  #十六进制转十进制

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐