目录
一、变量
1.创建变量
2.变量的修改
3.变量的命名
(1)常量
(2)标识符
(3)关键字
(4)命名规则
二、简单数据类型
1.变量的数据类型
2.数据类型
3.整型(Integers)
4.浮点数(Floating point numbers)
5.布尔型(Boolean)
6.字符串(String)
(1)字符串运算
(2)索引
7.数据类型转换
8.进制的转换
一、变量
1.创建变量
变量名 = 变量值
# 多个变量的值相同
num1 = num2 = num3 = 10
# 多个变量的值不同,元组赋值
a, b = 10, 20
例如:
name = '-17'
age = 23
major = '计算机'
注:变量必须先定义后使用;“ = ”两边要留一个空格
小练习:苹果价格是10.5元/斤,购买7.5斤,计算付款金额。
# 任务:买苹果
price = 10.5
weight = 7.5
money = price * weight
print("总共消费了 %.2f 元" % money)
运行结果:
2.变量的修改:创建变量后,可以在代码中重新赋值。
year = 2023
print(year)
year = 2024
print(year)
money = '10元'
money = 10
print(money)
运行结果:
2023
2024
10
小练习:超市搞活动,消费立减5元,计算应付金额
price = 10.5
weight = 7.5
money = price * weight
money = money - 5
print("总共消费了 %.2f 元" % money)
运行结果:
总共消费了 73.75 元
3.变量的命名
(1)常量:程序在运行的过程中,值永远不会发生改变的量称之为常量。python没有专门的常量类型,一般约定俗成使用大写表示常量。例如:
PI= 3.1415926
(2)标识符:程序员定义的变量名、函数名,名字需要有见名知意的效。标识符命名规则:
- 由字母、下划线和数字组成
- 不能以数字开头
- 不能与关键字重名
(3)关键字:python内部已经使用的标识符
- 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
(4)命名规则(惯例,非强制)
第①种:每个单词都使用小写字母,单词与单词之间使用_下划线连接。例如:first_name、last_name、qq_number、qq_password
第②种:驼峰命名法
- 小驼峰式命名法:第一个单词以小写字母开始,后续单词的首字母大写。例如:firstName、lastName
- 大驼峰式命名法:每一个单词的首字母都采用大写字母。例如:FirstName、LastName、CamelCase
二、简单数据类型
1.变量的数据类型
- 在Python中定义变量的不需要指定类型(在其他很多高级语言中都需要)
- 可以使用type和isinstance来测试和判断数据类型
a = '123456'
print(type(a))
print(isinstance(a,str))
运行结果:
<class 'str'>
True
2.数据类型
数据类型 | 解释 | 举例 |
整型(Integers) | 表示整数,不带小数点 | 例如:100。 |
浮点型(Floating point numbers) | 表示带有小数点的数字 | 例如:15.20。 |
复数(Complex Numbers) | 表示带有实部和虚部的数字 | 例如:3.14j。 |
布尔型(Boolean) | 表示真假。 | 有两个值,True或False |
字符串(String) | 一串字符 | 例如:"Hello,World!”。 |
列表(List) | 有序的集合,可以包含任何数据类型 | 例如:[1,'a',2.3]。 |
元组(Tuple) | 类似于列表,但不可变 | 例如:(1,'a',2.3)。 |
集合(Set) | 无序且不重复的元素集合 | 例如:{1,2,3}。 |
字典(Dictionary) | 键值对的集合 | 例如:"'name':'John','age':30)。 |
3.整型(Integers):Python可以处理任意大小的整数,包括负整数
4.浮点数(Floating point numbers):由整数部分和小数部分组成。补充:
- 向上取整 ceil
- 向下取整 floor
- 四舍五入 round
# 浮点数的计算
n1 = 0.125
n2 = 0.17
print("直接相加的结果是:",n1 + n2)
# 四舍五入round
n3 = round(n1+n2,2) # 对n1+n2四舍五入,保留2位小数
print("四舍五入保留2位小数的结果是:",n3)
import math
# 向上取整 ceil
n4 = math.ceil(n1+n2)
print("向上取整的结果是:",n4)
# 向下取整 floor
n5 = math.floor(n1+n2)
print("向上取整的结果是:",n5)
运行结果:
直接相加的结果是: 0.29500000000000004
四舍五入保留2位小数的结果是: 0.3
向上取整的结果是: 1
向上取整的结果是: 0
5.布尔型(Boolean)
- 布尔类型的变量只有True、False两种值。(大小写敏感)
- 作用:作为真假的判断。
- 在python中,能够解释为假的值有:None、0、0.0、False、所有的空容器(空列表、空元组、空字典、空集合、空字符串)
6.字符串(String):字符串就是一串字符,是编程语言中表示文本的数据类型。
- 在 Python 中可以使用一对双引号"或者一对单引号'定义一个字符串。
- 字符串是以单引号或者双引号括起来的任意文本,也可以是以三引号'''或者"""引起来的任意文本。
# 单引号字符串
str1 = 'hello'
# 空串
str2 = str()
# 双引号字符串
str3 = "hello world"
# 三引号字符串多行字符串(保存原格式)
str4 ='''hello world
hello 2024'''
str5 = """hello 2024
hello world"""
str6 = '1234\'\"123' # 打印带引号的内容
(1)字符串运算:
- 字符串加法(字符串拼接)
- 字符串乘法(重复字符串)
# 创建字符串
s1 = 'hello '
s2 = "-17 "
s3 = "good"
# 字符串拼接
print("字符串拼接:")
print(s1+s2+s3)
# 字符串乘法
print("字符串乘法:")
print(s1 * 3)
print('*' * 2)
运行结果:
字符串拼接:
hello -17 good
字符串乘法:
hello hello hello
**
(2)索引:可以使用索引获取一个字符串中指定位置的字符,索引计数从0开始。
①切片索引:变量名[起始索引:结束索引+1:步数]
- 步数默认为1,可省略不写
- 起始索引默认为0,可省略不写
- 结束索引默认为-1,可省略不写
s = "hello,-17"
print(s[0])
print(s[4])
print(s[-1])
print(s[6:9]) # 取 索引为6 到 索引为8的元素,包头不包尾
s2 = '123456789'
print(s2[0:9:2])
print(s2[:9:2])
print(s2[::2])
运行结果:
h
o
7
-17
13579
13579
13579
②字符串反转:
# 字符串反转
s2 = '123456789'
print(s2[-1:-10:-1])
print(s2[::-1])
运行结果:
987654321
987654321
7.数据类型转换
函数名 | 函数值 |
int(x,[基数]) | 将数字或字符串转换为整数,若x为浮点数,则自动截断小数部分 |
float(x) | 将x转换为浮点型 |
bool(x) | 转换成bool类型的True或False |
str(x) | 将x转换成字符串 |
(1)转换为int
# 转换为int
# str -> int : 必须是纯数字的字符串
s = '2024'
n = int(s)
print(type(s),type(n))
# float -> int
s1 = 5.17
print(int(s1))
# bool -> int
s2,s3 = True,False
print(int(s2),int(s3))
运行结果:
<class 'str'> <class 'int'>
5
1 0
(2)转换为float
# 转换为float
# str -> float :必须是纯数字的字符串
s = '2024' # 有没有小数点都可以
print((float(s)))
# int -> float :
n = 2024
print(float(n))
# bool -> float :
s1,s2 = True,False
print(float(s1),float(s2))
运行结果:
2024.0
2024.0
1.0 0.0
(3)转换为bool
#转换为bool
# str -> bool
s = 'cy-17'
print(bool(s))
s1 = '' # 空格不是空串
print(bool(s1))
# int -> bool
n = 17
print(bool(n))
n1 = 0
print(bool(n1))
# float -> bool
f = 0.17
print(bool(f))
f1 = 0.0
print(bool(f1))
运行结果:
True
False
True
False
True
False
(4)转换为str
# 转换为str
# int -> str
n = 17
print(str(n))
print(type(str(n)))
# float -> str
f = 5.17
print(str(f))
print(type(str(f)))
# bool -> str
a = True
print(str(a))
print(type(str(a)))
运行结果:
17
<class 'str'>
5.17
<class 'str'>
True
<class 'str'>
8.进制的转换
s = '10'
print(int(s,2)) # 将S转为二进制数
s1 = '1a'
print(int(s1,16)) # 将S1转为十六进制数
运行结果:
2
26