Python基础知识


1,初识Python

Python是一门功能强大且灵活的编程语言,由荷兰计算机科学家Guido van Rossum开发,目前被广泛地应用于软件开发、数据分析、人工智能、科学计算等领域。已经成为最受欢迎的程序设计语言之一。
python之父
请添加图片描述


2,Python解释器

在 Python 安装目录下可以找到 Python解释器程序,即python.exe。
在这里插入图片描述


第一个Python程序:
在这里插入图片描述

众所周知,计算机只能识别二进制数据,即0和1。

思考: 为什么我们输入print("Hello World!")计算可以识别并打印相关内容呢?

实际上计算机并不会识别Python代码,但是Python有解释器程序,它可以将Python代码翻译成计算机可以识别的二进制数据,并将其提交给计算机运行。 如下图:

在这里插入图片描述

使用命令行方式也可以一次执行多行代码:

①在E:\pythonProject下,将多行代码放入一个以 “.py” 结尾的文件中
在这里插入图片描述

②使用python命令运行它
在这里插入图片描述

补充知识 1: 控制print()语句输出后是否换行:

print("hello")
print("world")

在这里插入图片描述
想控制输出不换行的话,实现方式如下:

print("hello",end='')   # print()语句中加入end = ''即可实现print输出不换行
print("world",end='')

在这里插入图片描述

补充知识2: 关于制表符\t

在字符串中有一个特殊符号:\t,效果等同于在键盘上按下tab键,它可以使多行字符串对齐。

print("Hello World")
print("lucky dog")

print("Hello\t World")
print("lucky\t dog")

运行结果:
在这里插入图片描述


3,Python基础语法

3.1,数据类型

① Python中可以通过type()得到数据的类型

代码示例:

print(type(666))
print(type(13.14))
data_type = type("Python学习第一天!")
print(data_type)

运行结果:
在这里插入图片描述

牢记一点,在Python中,变量无类型,变量存储的数据有类型。

  • 将变量看作一个盒子,如果盒子里放足球,它就是足球盒子;如果盒子里放篮球,它就是篮球盒子。
  • Python中,我们可能会谈到字符串变量,但并不是说该变量是字符串类型,而是说它存储了字符串。

③ python中常用的有如下数据类型

类型描述说明
数字(Number)包括:整数 int、浮点数 float、布尔 bool、 复数complex例如:-10、13.14、True、False、4+3j(j结尾表示复数
字符串(String)描述文本的一种数据类型如:“Python学习笔记”
列表(List)有序的可变序列有序记录数据,Python较常用的数据类型
元组(Tuple)有序的不可变序列有序记录不可变数据
集合(Set)无序的不可重复集合无序记录不重复数据
字典(Dictionary)无序的key-value集合无序记录一堆key-value型数据

3.2,字面量

在代码中,被写在代码中的固定的值,称之为字面量。(与常量概念类似)举例如下

① 654
② 13.14
③ “学习Python”

以上例子中的三种字面量分别为整数字面量、浮点数字面量、字符串字面量。


3.3,注释

注释是对程序代码进行解释说明的文字,可用于增强代码可读性。

①单行注释(# + 空格 + 注释内容)

# 此处为单行注释
print("演示1")  

②多行注释(三对双引号中间写入注释内容)

"""
    此处为多行注释
    作者:过期动态
    笔记:Python学习笔记
"""
print("演示2")  # 演示单行注释


3.4,变量

变量是程序运行时,能储存计算结果或能表示值的抽象概念。

简单的说,变量是在程序运行时,记录数据用的。

代码示例如下:

"""
    演示Python中变量的相关操作
"""

# 定义一个变量,用来记录钱包余额
money = 50
# 通过print语句,输出变量记录的内容
print("钱包里还有:",money)  # 演示单行注释

# 买了一个冰淇淋,花费十元
money = money - 10
print("买了冰淇淋之后,钱包里还剩:",money,"元");

运行结果:
在这里插入图片描述


3.5,数据类型转换

在特定的场景下, 数据类型之间是可以相互转换的,如字符串转数字、数字转字符串等。比如:

  • 从文件中读取的数字,默认是字符串,我们需要转化为数字类型;
  • 后续学习的 input() 语句,默认结果是字符串,若需要数字也需要转化;
  • 等等

常见的转换语句:

语句(函数)说明
int(x)将 x 转换为一个整数并返回
float(x)将x转换为一个浮点数并返回
str(x)将对象x转换为字符串并返回

代码示例:

# str()可将任意类型转换为字符串
float_str = str(11.345)
print(type(float_str),float_str)   # 结果:<class 'str'> 11.345

# 将字符串转换为数字类型(要确保字符串的内容是数字才可以成功转换)
num1 = int("12")
print(type(num1),num1)   # 结果:<class 'int'> 12

num2 = float("13.14")
print(type(num2),num2)      # 结果:<class 'float'> 13.14

# 整数转为浮点数
float_num = float(11)
print(type(float_num),float_num)   # 结果:<class 'float'> 11.0

# 浮点数转整数
int_num = int(11.845)
print(type(int_num),int_num)  # 结果:<class 'int'> 11。
# 此处出现精度丢失现象,小数部分丢失

注意:浮点数转整数可能会丢失精度。


3.6,标识符

标识符是用户编程时所使用的一些列名字,用于给变量、类、方法命名。

Python标识符是有命名规则的:

  • 标识符中只允许出现字母、数字、下划线、中文四类元素;
  • 不推荐使用中文;
  • 数字不可以放在开头;
  • 需特别注意:Python大小写敏感;
  • 不可以使用关键字;

Python关键字如下:
在这里插入图片描述

标识符命名规范,尽量做到:

  • 见名知意;
  • 驼峰命名法,即下划线分隔多个单词。eg:student_name = “小明”
  • 因为字母全部小写,eg:name、age

3.7,运算符

3.7.1,算术运算符

进行数学运算是使用算术运算符。

Python中的算术运算符如下:

运算符描述实例
+10 + 10 结果为20
-20 - 10 结果为10
*3*3 结果为9
/4/2 结果为浮点型2.0
//取整除11 // 2 结果为整数5
%取余9 % 2 结果为1
**指数a** b 为 a的b次方,例如:3 ** 2 结果为9

3.7.2,赋值运算符

运算符描述实例
=赋值运算符把 = 右边的结果赋值给左边的变量,如num = 1 + 2 * 3,结果num 值为7

3.8,字符串操作

3.8.1,字符串的定义

Python中字符串有三种定义方式。

  • 单引号定义法;
  • 双引号定义法;
  • 三引号定义法;

代码示例:

"""
演示字符串的三种定义方式
"""

# 单引号定义法
name1 = '时间序列预测1'
print(type(name1))
# 双引号定义法
name2 = "时间序列预测2"
print(type(name2))
# 三引号定义法,语法和多行注释相同,如果使用了变量接收它,它就是字符串
name3 = """时间序列预测3"""
print(type(name3))

运行结果:
在这里插入图片描述

注意: Python的三引号定义法和多行注释的语法一样,同样支持换行操作。若使用变量接收它,它就是字符串,不使用变量接收它,它就可以当作多行注释使用。


3.8.2,字符串的引号嵌套

思考: 如果我们要定义的字符串本身需要包含:单引号、双引号自身,代码该如何写呢?

此问题可以有三种解决方案。

  • 单引号定义法,单引号内直接写双引号,即可使字符串内包含双引号;
  • 双引号定义法,双引号内直接写单引号,即可使字符串内包含单引号;
  • 也可使用转移字符(\)来将引号解除效用,使其变为普通字符串;

代码示例:

# 在字符串内包含双引号
name1 = '"机器学习"'
print(name1)      # "机器学习"
# 在字符串内包含单引号
name2 = "'深度学习'"
print(name2)      # '深度学习'
# 使用转义字符解除引号的效用
name3 = "\"人工智能\""
print(name3)      # "人工智能"
name4 = '\'人工智障\''
print(name4)      # '人工智障'

3.8.3,字符串的拼接

如果我们有两个字符串(文本)字面量,可以将二者拼接成一个字符串,通过 + 号即可完成。

代码示例:

print("python学习课程" + "笔记")    #输出结果:python学习课程笔记

# 实际应用场景中常使用字符串和变量进行拼接
name = "过期动态"
print("我的名字是:" + name + ",欢迎大家阅读我的文章!")

运行结果:

在这里插入图片描述

注意: Python中字符串无法通过 + 和整数、浮点数等数值类型进行拼接

示例如下:
在这里插入图片描述


3.8.4,字符串的格式化

使用 + 进行字符串拼接,存在一些明显的缺点。比如:

  • 变量过多,拼接起来会很麻烦;
  • 字符串无法和数字以及其他类型完成拼接;

思考: 有没有其他方式,既方便又支持拼接其他类型

答案是有的,这个方式就是字符串的格式化。


字符串格式化方式一:

首先我们看一段代码:

name = "CSDN"
message = "学Python,来:%s" % name
print(message)
# 可以通过以上方式可以完成变量和字符串的拼接

其中,%s中:

  • % 表示:我要占位;
  • s 表示:将变量变成字符串放入占位的地方

因此:综合起来%s就是:我先占个位置,等下会有一个变量过来,我把它变成字符串放到占位的位置。

数字类型也可以进行占位。

# 通过占位形式,完成字符串和数字之间的拼接
# 多个变量占位,变量需要使用()括起来,并按照占位的顺序填入
year = 2024
avg_salary = 16781
message = "Python大数据行业,北京%s年,毕业平均薪资:%s" % (year,avg_salary)
print(message)

运行结果:
在这里插入图片描述
上述代码中,对数值类型使用的占位符是%s,实际上是将数字转换为字符串,然后放入到其应该占位的地方。如果想让数字以原本的面貌拼接进去则不能再使用 %s ,而应该使用其他占位符(常用三种如下)。

格式符号转化
%s将内容转化为字符串,放入占位位置
%d将内容转化为整数,放入占位位置
%f将内容转化为浮点型,放入占位位置

代码举例: 完成字符串、整数、浮点数,三种不同类型的变量的占位

name = "北京大学"
set_up_year = 1898
book_num = 803.45
message = "%s 成立于%d。其馆藏图书约%f万册。" % (name,set_up_year,book_num)
print(message)

运行结果:
在这里插入图片描述

观察如上例子,发现其中浮点数803.45输出后变成了803.450000,原因格式化过程中我们没有对它进行精度控制。


字符串格式化中的数字精度控制

可以使用辅助符号 “m.n” 来控制数据的宽度和精度

  • m,控制宽度,要求是数字。若设置的宽度小于数字自身,则不生效;
  • n,控制小数点精度,要求是数字,会进行小数的四舍五入

eg1: %5d 表示将整数的宽度设置为5位,若数字11被设置为%5d,就会变为[空格][空格][空格]11,用三个空格补足宽度;
eg2: %5.2f 表示将整数的宽度控制在五位,将小数点精度设置为2。11.345设置了%7.2f后,结果是:[空格][空格]11.35。(此处小数部分限制两位精度需要四舍五入)
eg3: %.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)

运行结果如下:

在这里插入图片描述


字符串格式化方式二:

通过语法,f"内容{变量}{变量}" 的格式来快速格式化。 此方式有如下特点:

  • 不理会数据类型
  • 不做精度控制

因此,此字符串格式化方式适合对精度没有要求时使用。

代码示例:

"""
演示第二种代码示例方式:f"{变量}{变量}"   其中f是format的缩写
"""
name = "北京大学"
set_up_year = 1898
book_num = 803.45
print(f"我是{name},我成立于{set_up_year},我的图书馆藏数量是{book_num}万册")

运行结果:

在这里插入图片描述


3.8.5,对表达式进行格式化

表达式就是一个具有明确结果的代码语句,如 1+1 ,type(“字符串”),3*5等。使用两种字符串格式化方式对表达式进行格式化:

  • f"{表达式}"
  • “%s\%d\%f” % (表达式、表达式、表达式)

代码示例如下:

"""
演示对表达式进行字符串格式化
"""
print("1 * 1 的结果是:%d" % (1 * 1))
print(f"1 * 2 的结果是:{1*2}")
print("字符串在Python中的类型名是:%s" % type("字符串"))

运行结果如下:

在这里插入图片描述


练习题: 股价计算小程序

定义如下变量:

  • name:公司名
  • stock_price:当前股价
  • stock_code:股票代码
  • stock_price_daily_growth_factor:股票每日增长系数,浮点数类型,比如1.2
  • growth_days:增长天数

计算,经过growth_days天的增长后,股价达到多少钱?
(使用字符串格式化进行输出,如果是浮点数,要求小数点精度两位数)

在这里插入图片描述

上图中红色框框住的都是变量,需要使用格式化方式拼接进去。

# 定义需要的变量
name = "Byte Dance"
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))

运行结果如下:

在这里插入图片描述

3.9,数据输入 input() 语句

input语句可以从键盘获取输入,使用时用一个变量接收或存储 input 语句获取的键盘输入数据即可。

  • 可以使用 input(提示信息),用以在使用者输入内容之前显示提示信息;
  • 无论键盘输入什么类型的数据,通过 input() 获取到的数据默认都是字符串类型。如果需要其他类型数据可以自己进行转换;

代码示例:

"""
演示Python的input()语句,获取键盘的输入信息
"""
print("请告诉我你是谁")
name = input()     # 此处两行代码可以简化为一行:name = input("请告诉我你是谁")
print("我知道了,你是:%s" % name)

# 输入数字类型
num = input("请告诉我你的银行卡密码:")
print("银行卡密码类型是:",type(num))   # 无论输入什么数据,此处运行结果都为:<class 'str'>
# 通过 input() 获取到的数据都是字符串类型。如果需要其他类型数据可以自己进行转换;
num = int(num)   # 此处强制转化为int类型
print("数据类型转化之后,银行卡密码类型是:",type(num))   # 输出结果:数据类型转化之后,银行卡密码类型是: <class 'int'>

运行结果:

在这里插入图片描述

  • 26
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

过期动态

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值