Python基础语法
Python基础语法
字面量
什么事字面量
字面量:在代码中,被写下来的固定的值,称之为字面量
Python中常见的六种值类型
类型 | 描述 | 说明 |
---|---|---|
数字(Number) | 支持:整数(int)、浮点数(float)、复数(complex)、布尔(bool) | 整数(int):10 -10。浮点数(float):13.14 15.16。复数(complex):以j结尾表示为复数。布尔(bool):true为真,false为假 |
字符串(String) | 描述文本的一种数据类型 | 字符串(string)由任意数量的字符组成 |
列表(List) | 有序地可变序列 | Python使用最频繁的序列,可有序记录一堆数据 |
元祖(Tuple) | 有序的不可变序列 | 可有序记录一堆不可变的Python数据集合 |
集合(Set) | 无序不重复集合 | 可无序记录一堆不重复的Python数据集合 |
字典(Dictionary) | 无序键值集合 | 可无序记录一堆Key-Value型的Python数据集合 |
666
13.14
"哈哈哈"
print(666)
print(13.14)
print("哈哈哈")
结果
666
13.14
哈哈哈
注释
在程序代码中对代码进行解释说明的文字。注释不是程序,不能被执行,只是对程序代码进行解释说明,让别人可以看懂程序代码的作用,能够大大增强程序的可读性。
单行注释
以 #开头,#右边 的所有文字当作说明,而不是真正要执行的程序,起辅助说明作用。注意,#号和注释内容一般建议以一个空格隔开
多行注释
以 一对三个双引号 引起来 ("""注释内容""")来解释说明一段代码的作用使用方法
# 整数字面量
666
# 浮点数字面量
13.14
# 字符串字面量
"哈哈哈"
# 通过print语句输出各类字面量
print(666)
print(13.14)
print("哈哈哈")
结果
666
13.14
哈哈哈
变量
在程序运行时,能储存计算结果或能表示值的抽象概念。简单的说,变量就是在程序运行时,记录数据用的
# 定义一个变量, 用来记录钱包余额
money = 50
# 通过print语句,输出变量记录的内容
print("钱包还有:", money)
# 买了一个冰激凌,花费十元
money = money - 10
print("买了冰激凌花费十元,还剩:", money)
# 假设每小时输出一下钱包的余额
print("现在下午一点钱包余额:", money)
print("现在下午二点钱包余额:", money)
print("现在下午三点钱包余额:", money)
print("现在下午四点钱包余额:", money)
结果
钱包还有: 50
买了冰激凌花费十元,还剩: 40
现在下午一点钱包余额: 40
现在下午二点钱包余额: 40
现在下午三点钱包余额: 40
现在下午四点钱包余额: 40
数据类型
我们可以通过type(变量)查看类型,这种方式查看到的是数据的类型
# 方式1: 使用print直接输出类型信息
print(type("哈哈哈"))
print(type(666))
print(type(13.14))
# 方式2: 使用变量存储type()语句的结果
string_type = type("哈哈哈")
int_type = type(666)
float_type = type(13.14)
print(string_type)
print(int_type)
print(float_type)
# 方式3: 使用type()语句,查看变量中存储的数据类型信息
name = "哈哈哈"
name_type = type(name)
print(name_type)
结果
<class 'str'>
<class 'int'>
<class 'float'>
<class 'str'>
<class 'int'>
<class 'float'>
<class 'str'>
数据类型转换
数据类型之间,在特定的场景下,是可以相互转换的,如字符串转数字、数字转字符串等。数据转换的场景:
- 从文件中读取的数字,默认是字符串,我们需要转换成数字类型
- 后续学习的input()语句,默认结果是字符串,若需要数字也需要转换
- 将数字转换成字符串用以写出到外部系统
语句(函数) | 说明 |
---|---|
int(x) | 将x转换为一个整数 |
float(x) | 将x转换为一个浮点数 |
str(x) | 将x转换为一个字符串 |
# 将数字类型转换成字符申
num_str = str(11)
print(type(num_str), num_str)
float_str = str(13.14)
print(type(float_str), float_str)
# 将字符申转换成数字
num = int("11")
print(type(num), num)
num1 = float("13.14")
print(type(num1), num1)
# 整数转浮点数
float_num = float(11)
print(type(float_num), float_num)
# 浮点转整数
int_num = int(13.34)
print(type(int_num), int_num)
结果
<class 'str'> 11
<class 'str'> 13.14
<class 'int'> 11
<class 'float'> 13.14
<class 'float'> 11.0
<class 'int'> 13
标识符
是用户在编程的时候所使用的一系列名字,用于给变量、类、方法等命名。
命名规则:
- 内容限定
- 英文
- 中文
- 数字
- 下划线(_)
其他任何内容都不允许。1不推荐使用中文; 2数字不可以开头
- 大小写敏感
- 不可使用关键字
# 规则1:内容限定,限定只能使用:中文、英文、数字、下划线,注意:不能以数字开头
# 错误的代码师范 1_name = "张三"
# 错误的代码师范 name_! = "哈哈"
name_ = "哈哈"
_name = "哈哈"
name_1 = "哈哈"
# 规则2:大小写敏感
Name = "哈哈";
name = "啧啧";
print(name)
print(Name)
# 规则3:不可使用关键字
# 错误的示例,使用了关键字 class = 1
# 错误的示例,使用了关键字 def = 1
Class = 1
结果
啧啧
哈哈
变量的命名规范
- 见名知意
- 下划线命名法
- 英文字母全小写
运算符
算术运算符
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 | 两个对象相加 a + b 输出结果 30 |
- | 减 | 得到负数或是一个数减去另一个数 a - b 输出结果 -10 |
* | 乘 | 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200 |
/ | 除 | b / a 输出结果 2 |
// | 取整除 | 返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0 |
% | 取余 | 返回除法的余数 b % a 输出结果 0 |
** | 指数 | a**b 为10的20次方, 输出结果 100000000000000000000 |
赋值运算符
运算符 | 描述 | 实例 |
---|---|---|
= | 赋值 | 把 = 号右边的结果 赋给 左边的变量,如 num = 1 + 2 * 3,结果num的值为7 |
复合赋值运算符
运算符 | 描述 | 实例 |
---|---|---|
+= | 加法赋值运算符 | c += a 等效于 c = c + a |
-= | 减法赋值运算符 | c -= a 等效于 c = c - a |
*= | 乘法赋值运算符 | c *= a 等效于 c = c * a |
/= | 除法赋值运算符 | c /= a 等效于 c = c / a |
%= | 取模赋值运算符 | c %= a 等效于 c = c % a |
**= | 幂赋值运算符 | c **= a 等效于 c = c ** a |
//= | 取整除赋值运算符 | c //= a 等效于 c = c // a |
# 算术(数学)运算符
print("1 + 1 = ", 1 + 1)
print("2 - 1 = ", 2 - 1)
print("3 * 3 = ", 3 * 3)
print("4 / 2 = ", 4 / 2)
print("11 // 2 = ", 11 // 2)
print("9 % 2 = ", 9 % 2)
print("2 ** 2 = ", 2 ** 2)
# 赋值运算符
num = 1 + 2 * 3
print(num)
# 符合运算符
num = 1
num += 1
print("num += 1:", num)
num -= 1
print("num -= 1:", num)
num *= 4
print("num *= 4:", num)
num /= 2
print("num /= 2:", num)
num = 3
num %= 2
print("num %= 2:", num)
num **= 2
print("num **= 2:", num)
num = 9
num //= 2
print("num //= 2:", num)
结果
1 + 1 = 2
2 - 1 = 1
3 * 3 = 9
4 / 2 = 2.0
11 // 2 = 5
9 % 2 = 1
2 ** 2 = 4
7
num += 1: 2
num -= 1: 1
num *= 4: 4
num /= 2: 2.0
num %= 2: 1
num **= 2: 1
num //= 2: 4
字符串三种定义方式
- 单引号定义法:name =
'哈哈'
- 双引号定义法:name =
"哈哈"
- 三引号定义法:name =
"""哈哈哈"""
三引号定义法,和多行注释的写法一样,同样支持换行操作。使用变量接收它,它就是字符串不使用变量接收它,就可以作为多行注释使用。
# 单引号定义法,使用单引号进行包围
name = '哈哈'
print(type(name))
# 双引号定义法
name = "哈哈"
print(type(name))
# 三引号定义法, 写法和多行注释一样支持换行
name = """哈哈
嘿哈"""
print(type(name), name)
# 在字符串 包含双引号
name = '"哈哈"'
print(name)
# 在字符串 包含单引号
name = "'哈哈'"
print(name)
# 使用转义字符\解除引号的效用
name = "\"哈哈哈\""
print(name)
name = '\'哈哈哈\''
print(name)
结果
<class 'str'>
<class 'str'>
<class 'str'> 哈哈
嘿哈
"哈哈"
'哈哈'
"哈哈哈"
'哈哈哈'
字符串的拼接
字符串只能和字符串拼接,不可以和非字符串拼接
# 字符串字面量之间的拼接
print("哈哈" + "牛B")
# 字符串字面量和字符串变量的拼接
name = "哈哈"
age = "18"
print("名称:" + name + ",年龄:" + age)
结果
哈哈牛B
名称:哈哈,年龄:18
字符串格式化
常用的三种转义方式
格式符号 | 说明 |
---|---|
%s | 将内容转换成字符串,放入占位位置 |
%d | 将内容转换成整数,放入占位位置 |
%f | 将内容转换成浮点型,放入占位位置 |
# 通过占位的形式,完成拼接
name = "哈哈哈"
message = "我的名字叫:%s" % name
print(message)
# 通过占位的形式完成数字和字符串的拼接
name = "嘿哈"
age = "18"
print("我的名字叫:%s, 年龄:%s" % (name, age))
结果
我的名字叫:哈哈哈
我的名字叫:嘿哈, 年龄:18
字符串格式化的经度控制
我们可以使用辅助符号"m.n"来控制数据的宽度和精度
- m,控制宽度,要求是数字(很少使用),设置的宽度小于数字自身,不生效
- .n,控制小数点精度,要求是数字,会进行小数的四舍五入
示例:
%5d:表示将整数的宽度控制在5位,如数字11,被设置为5d,就会变成:[空格][空格][空格]11,用三个空格补足宽度。
%5.2f:表示将宽度控制为5,将小数点精度设置为2,小数点和小数部分也算入宽度计算。如,对11.345设置了%7.2f 后,结果是:[空格][空格]11.35。2个空格补足宽度,小数部分限制2位精度后,四舍五入为 .35
%.2f:表示不限制宽度,只设置小数点精度为2,如11.345设置%.2f后,结果是11.35
num1 = 11
num2 = 11.345
print("数字11宽度限制5,结果是:%5d" % num1)
print("数字11宽度限制1,结果是:%1d" % num1)
print("数字11.345宽度限制7,小数精度2,结果是:%7.2f" % num2)
print("数字11.345宽度不限制,小数精度2,结果是:%.2f" % num2)
结果
数字11宽度限制5,结果是:00011
数字11宽度限制1,结果是:11
数字11.345宽度限制7,小数精度2,结果是: 11.35
数字11.345宽度不限制,小数精度2,结果是:11.35
字符串格式化 - 快捷写法
f"{变量} {变量}"
的方式进行快速格式化
- 不理会类型
- 不做精度控制, 适合对精度没有要求的时候快速使用
"""
演示第二种宇符申格式化的方式: f"{占位}"
"""
name = "哈哈"
set_up_year = 2006
stock_price = 19.99
# f:format
print(f"我是{name},我成立于{set_up_year},我今天的股价为:{stock_price}")
结果
我是哈哈,我成立于2006,我今天的股价为:19.99
表达式的格式化
表达式就是一个具有明确结果的代码语句,格式化表达式:
f"{表达式}"
"%s\%d\%f" % (表达式、表达式、表达式)
print("1 * 1 的结果是:%d" % (1 * 1))
print(f"1 * 2 的结果是:{1 * 2}")
print("字符串Python中的类型名是:%s" % type("字符串"))
结果
1 * 1 的结果是:1
1 * 2 的结果是:2
字符串Python中的类型名是:<class 'str'>
字符串格式化练习题
name = "哈哈哈"
stock_price = 19.99
stock_code = "003032"
# 每日增长
stock_price_daily_growth_factor = 1.2
# 增长天数
growth_days = 7
# 最终价
finally_stock_price = stock_price * stock_price_daily_growth_factor ** growth_days
print(f"公司:{name},代码{stock_code},股价:{stock_price}")
print("每日增长系数:%.1f,经过%d天后的增长后,股价达到了:%.2f" % (stock_price_daily_growth_factor, growth_days, finally_stock_price))
结果
公司:哈哈哈,代码003032,股价:19.99
每日增长系数:1.2,经过7天后的增长后,股价达到了:71.63
数据输入
input()
语句的功能是,获取键盘输入的数据,可以使用:input(提示信息)
,用以在使用者输入内容之前显示提示信息,无论键盘输入什么类型的数据,获取到的数据永远都是字符串类型
name = input("请告诉我你是谁?\n")
print(f"你是:{name}")
# 输入数字类型
num = input("请告诉我你的银行卡密码:\n")
# 数据转换
num = int(num)
print(f"你的银行卡密码类型是:{type(num)}")
结果
请告诉我你是谁?
哈哈
你是:哈哈
请告诉我你的银行卡密码:
123123
你的银行卡密码类型是:<class 'int'>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)