1基础语法.png

1.字面量

  • 字面量:在代码中,被写下来的固定的值

1.1 Python常用的6种值(数据)的类型

类型 描述 说明
数字 整数(int)、浮点数(float)、复数(complex)、布尔(bool)
字符串 描述文本的一种数据类型 由任意数量的字符组成
列表 有序的可变序列
元组 有序的不可变序列 有序记录一堆不可变的Python数据集合
集合 无序的不重复集合 无序记录一堆不重复的Python数据集合
字典 无序Key-Value集合 无序记录一堆Key-Value型的Python数据集合

1.2代码练习(输出字面量)

print(666)  # 整数
print(13.14)  # 浮点数
print("HeyStar")  # 字符串

2.注释

2.1 分类

  • 单行注释:以#开头#右边 的所有文字当作说明,一般用来对一行或一小部分的代码进行解释。
    <#和注释内容以一个空格隔开>
  • 多行注释:以 一对三个双引号 引起来("""注释内容""")来解释说明,一般用来对Python文件、类或方法进行解释。

2.2 代码练习

使用单行注释和多行注释

print("Hello World")  # 单行注释:输出"Hello World"

...................................................................

"""
多行注释
输出
悯农
"""
print("锄禾日当午")
print("汗滴禾下土")
print("谁知盘中餐")
print("粒粒皆辛苦")

3.变量

  • 在程序运行时,能储存计算结果或能表示值的抽象概念。
    即在程序运行时,记录数据用的
    变量的值可以发生改变!

3.1 定义格式

变量名称 = 变量的值

  • 变量名称:每一个变量都有自己的名称,称为:变量名,也就是变量本身
  • = :赋值,表示将等号右边的值,赋予左边的变量
  • 变量的值:每一个变量都有自己存储的值(内容),称为:变量值

3.2代码练习

3.2.1 定义一个变量,用来记录钱包余额,并输出
# 定义一个变量,用来记录钱包余额
money = 50
# 输出变量的内容
print("钱包还有:" , money) # print输出多个数据时,用,隔开
3.2.2 将变量变起来,购买一个10元的冰激凌,余额减少
# 定义一个变量,用来记录钱包余额
money = 50
# 输出变量的内容
print("钱包还剩", money)

# 购买一个冰淇淋
money -= 10
# 输出变量的内容
print("买冰激凌后钱包剩余", money)
3.2.3 求钱余额

题目:

请在程序中,定义如下变量:
钱包余额(变量名: money),初始余额50请通过程序计算,在购买了:
*冰淇淋10元
*可乐5元
后,钱包余额还剩余多少元。

代码:

# 定义一个变量,用来记录钱包余额
money = 50
# 输出变量的内容
print("钱包还剩", money)

# 购买一个冰淇淋
money -= 10
# 输出变量的内容
print("购买冰激凌,剩余", money , "元")

# 购买一个可乐
money -= 5
# 输出变量的内容
print("购买可乐,剩余", money , "元")

3.2.3代码.jpg

4.数据类型

4.1 type()语句

通过type()语句来得到数据的类型
语法:type(被查看类型的数据)

  • 直接使用print输出
  • 用变量存储

type(变量)查看的是变量存储数据的类型
变量无类型,但存储的数据由类型

5.数据类型转换

5.1 为什么要转换类型?

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

5.2 常见的转换语句

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

与type()语句一样,都是带有结果的(返回值) 可以使用print()直接输出或者使用变量存储

5.3 代码练习

将数字(123)转换为字符串,将字符串("111")转换成数字

# 将数字转换成字符串
num_str = str(123)
print(type(num_str), " 内容为 ", num_str)

# 将字符串转换为数字
str_num = int("111")
print(type(str_num), " 内容为 ", str_num)

6.标识符

用户在编程时,所使用的一系列名字,用于给变量、类、方法等命名。

6.1 标识符命名规则

6.1.1 内容限定

只允许使用英文、中文、数字、下划线(_),其余任何内容都不被允许。
!注意:

  • 不推荐使用中文
  • 不允许数字开头
6.1.2 大小写敏感
6.1.3 不可使用关键字

6.2 变量命名规范

6.2.1 见名知意

明了:尽量做到,看到名字,就知道什么意思
简洁:尽量在确保“明了”的前提下,减少名字的长度

6.2.2 下划线命名法

多个单词组合变量名,使用下划线做分隔

6.2.3 英文字母全小写

命名变量中的英文字母,应全部小写

7.运算符

7.1 算术(数学)运算符

运算符 描述 说明
+
-
*
/
// 取整除 返回商的整数部分
% 取余 返回除法的余数
** 指数 a**b , 相当于^

7.2 赋值运算符

运算符 描述 说明
= 赋值运算符 把 = 号右边的结果 赋给 左边的变量
7.2.1 复合赋值运算符
运算符 描述 说明
+= 加法赋值运算符
-= 减法赋值运算符
*= 乘法赋值运算符
/= 除法赋值运算符
//= 取整除赋值运算符
%= 取模赋值运算符
**= 幂赋值运算符

7.3 代码练习

7.3.1 使用算术运算符
# 加法
print("1 + 1 = ", 1 + 1)
# 减法
print("2 - 1 = ", 2 - 1)
# 乘法
print("2 * 2 = ", 2 * 1)
# 除法
print("4 / 2 = ", 4 / 2)
# 取整除
print("9 // 2 = ", 9 // 2)
# 取余
print("9 % 5 = ", 9 % 5)
# 指数
print("2 ** 3 = ", 2 ** 3)
7.3.2 复合运算符
# 赋值运算符
num = 1 + 2 * 3
print("num 初始值为: ", num)

# 复合运算符
num += 1  # 相当于num = num + 1
print("num + 1 = ", num)
num -= 1  # 相当于num = num - 1
print("num - 1 = ", num)
num *= 2  # 相当于num = num * 2
print("num * 2 = ", num)
num /= 2  # 相当于num = num / 2
print("num / 2 = ", num)
num %= 4  # 相当于num = num % 2
print("num % 4 = ", num)
num **= 3  # 相当于num = num ** 3
print("num ** 3 = ", num)
num //= 2  # 相当于num = num // 2
print("num // 2 = ", num)

8.字符串扩展

8.1 字符串的三种定义方法

  • 单引号定义法:name = 'heystar'
  • 双引号定义法:name = "heystar"
  • 三引号定义法:name = """heystar"""
    三引号定义法,与多行注释写法相同,支持换行操作。
    使用变量接收它,它就是字符串,不适用变量接收它,它就可以作为多行注释使用。
8.1.1 代码练习
# 单引号定义法
name_1 = 'HeyStar'
print("name_1 = ", name_1)
# 双引号定义法
name_2 = "HeyStar"
print("name_2 = ", name_2)
# 三引号定义法
name_3 = """
Hey
Star
"""
print("name_3 = ", name_3)

8.1.2 字符串的引号嵌套
  • 单引号定义法,可以内含双引号
  • 双引号定义法,可以内含单引号
  • 可以使用转移字符(\)来将银河号解除效用,变成普通字符串
# 单引号定义法
name = '"HeyStar'
print(name)
# 双引号定义法
name = "HeyStar'"
print(name)
# 转义字符
name = " \"HeyStar "
print(name)

8.2 字符串拼接

如果由两个字符串(文本)字面量,可以将其拼接成一个字符串,通过+号即可完成。
语法:print("Hey"+"Star")
输出:HeyStar

一般,字面量和变量或变量和变量之间会使用拼接
例子:

name = "HeyStar"
title = "Python | 基础语法"
print("这里是 "+name+",这篇文章为: "+title)

输出:这里是 HeyStar,这篇文章为: Python | 基础语法

8.3 字符串格式化

8.3.1

通过如下语法,完成字符串和变量的快速拼接

name = "HeyStar"
message = "这里是 %s" % name
print(message)

输出:这里是 HeyStar
其中:%s

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

多个变量情况:

name = "HeyStar"
number = 7
message = "%s 共有 %s 个字母" % (name,number)
print(message)

输出:HeyStar 共有 7 个字母

8.3.2 Python中常用的数据类型占位
格式符号 转化
%s 将内容转换成字符串,放入占位位置
%d 将内容转换成整数,放入占位位置
%f 将内容转换成浮点数,放入占位位置
8.3.3 代码练习常用的数据类型占位
title = "Python | 基础语法"
year = 2023
month = 8
day = 2
rate = 7.18
message = ("这篇文章的题目是%s \n"
           "%d年%d月%d日,今天1美元=%f人民币。") % (title, year, month, day, rate)
print(message)

输出:

这篇文章的题目是Python | 基础语法 
2023年8月2日,今天1美元=7.180000人民币。

8.4 格式化的精度控制

使用辅助符号"m.n"来控制数据的宽度和精度

  • m ,控制宽度,要求是数字(很少使用),如设置的宽度小于数字自身,则不生效
  • n ,控制小数点精度,要求是数字,会进行小数的四舍五入

示例:

  • %5d:将整数的宽度控制在5位
    如果数字为11,则%5d为[空格][空格][空格]11
  • %5.2f:表示将宽度控制为5,将小数点精度设置为2
    如果数字为1.2,则%5.2f为[空格]1.20

8.5 字符串格式化2(快速写法)

语法:f"内容{变量}"

不关心数据类型,也不做数据精度控制。

示例代码:

title = "Python | 基础语法"
year = 2023
month = 8
day = 2
rate = 7.18
print(f"这篇文章的题目是{title} \n {year}年{month}月{day}日,今天1美元={rate}人民币。")

输出:

这篇文章的题目是Python | 基础语法 
2023年8月2日,今天1美元=7.18人民币。

8.6 对表达式进行格式化

表达式:一条具有明确执行结果代码语句
如:1+1、5*2

在无需使用变量进行数据存储时,可以直接格式化表达式。

示例代码:

print("1 + 1的结果是:%d" % (1 + 1))
print(f"1 + 1的结果是: {1 + 1}")
print("字符串在Python中的类型是:%s" % type('字符串'))

输出结果:

1 + 1的结果是:2
1 + 1的结果是: 2
字符串在Python中的类型是:<class 'str'>

8.7 综合练习

定义以下变量:
· name ,公司名
· stock_pric,当前股价
· stock_code,股票代码
· stock_price_daily_growth_factor,股票每日增长系数,浮点数类型,比如1.2
· growth_days,增长天数
计算经过growth_days天的增长后,股价达到了多少钱?
使用字符串格式化进行输出,如果是浮点数,要求小数点精度2位数。

代码:

name = "HeyStar"
stock_price = 19.99
stock_code = "012345"
stock_price_daily_growth_factor = 1.2
growth_days = 7
finally_price = stock_price * stock_price_daily_growth_factor ** growth_days
print(f"公司:{name},股票代码:{stock_code},当前股价:{stock_price}")
print("每日增长系数是:%.2f,经过%d天的增长后,股价达到了:%.2f" % (stock_price_daily_growth_factor, growth_days, finally_price))

输出结果:

公司:HeyStar,股票代码:012345,当前股价:19.99
每日增长系数是:1.20,经过7天的增长后,股价达到了:71.63

9.数据输入

9.1 获取键盘输入

input语句(函数)

  • 使用input()语句可以从键盘获取输入
  • 使用一个变量接收(存储)input语句获取的键盘输入数据即可

示例代码:

print("请告诉我你是谁")
name = input()
print(f"Get!,你是{name}")

输出结果(***中为输入数据)

请告诉我你是谁
***HeyStar***
Get!,你是HeyStar

凝练以上代码:

name = input("请告诉我你是谁")
print(f"Get!,你是{name}")

输出结果(***中为输入数据)

请告诉我你是谁***HeyStar***
Get!,你是HeyStar