1.字面量:
<1>定义:
在代码中,被写下来的固定的值;
<2>字符串(String):
(1)概念:
又称为文本,是由任意数量的字符,如:中文、英文、各类符号、数字等组成。
【注意】:字符串需要被双引号("")包围
(2)三种定义方式:
- 单引号定义法:name='李四'
- 双引号定义法:name="李四"
- 三引号定义法:name="""李四"""
name1 = '加油'
print(type(name1))
name2 = "努力"
print(type(name2))
name3 = """努力,加油"""
print(type(name3))
【注意】三引号定义法与多行注释写法一样,同样支持换行操作;使用变量接收它,它就是字符串;不使用变量接收它,就可以作为多行注释使用;
(3)引号嵌套:
- 单引号定义法,可以内含双引号;
- 双引号定义法,可以内含单引号
- 可以使用转移字符(\)来将引号解除效用,变成普通字符串;
name1 = '"加油"'
print(name1)
name2 = "'努力'"
print(name2)# 使用转义字符\解除引号的效用
name4 = "\"成功\""
print(name4)
(4)字符串的拼接:
- 概念:如果有两个字符串(文本)字面量,可以将其拼接成一个字符串,通过+号即可完成。
-
print('努力' + "加油") # 结果努力加油
- 字符串拼接缺点:
- 变量过多,拼接起来麻烦;
- 字符串无法和数字或其它类型完成拼接;
(5)字符串格式化:
1.格式:
"%占位符"%变量
2.完成字符串和变量的快速拼接(%s):
%表示占位,s表示将变量变成字符串放入占位地方;
- 综合意思:我先占个位,等一会有一个变量过来,我把它变成字符串放到占位的位置;
【注意】多个变量占位时,变量要用括号括起来,并按照占位顺序填入;
name1 = "加油"
money = 200000
print("我学习到目前为止,一个信念一直支撑我那就是%s,如愿我毕业后薪资达到%s" % (name1, money))
3.三种类型占位:
格式符号 | 转化 |
---|---|
%s | 将内容转换成字符串,放入占位位置 |
%d | 将内容转换成整数,放入占位位置 |
%f | 将内容转换成浮点型,放入占位位置 |
name2 = "成功"
graduate = 2025
money = 200000.9999
message = "我毕业于%d,学业人生大成功%s,因为我以后的薪资都是%f" % (graduate, name2, money)
print(message)
4.f"内容{变量}":
- 快速格式化;
- 优点:不理会类型、不做精度控制;
(6)格式化精度控制:
1.精度控制符“m.n”:
- m :控制宽度,要求数字(很少使用),设置的宽度小于数字自身,不生效;
- .n :控制小数点精度,要求是数字,会进行小数的四舍五入。
- 例:%5d:表示将整数的宽度控制在5位,如数字11,被设置为5d,就会变成:[空格][空格][空格]11,用三个空格补足宽度;
- 例:%5.2f:表示将宽度控制在5,将小数点精度控制为2;
- 例:%.2f:表示不限制宽度,只设置小数点精度为2,如:11.345设置%.2f为:11.35
【注意】小数点和小数点部分也算入宽度计算。如:11.345设置%7.2f后,结果:[空格][空格]11.35.2个空格补足宽度,小数部分限制2为精度后,四舍五入为.35。
num1 = 99.661851
num2 = 41548.654
num3 = 876.5496
message = "这款零食售价%7.2f" % num1
message1 = "这个薯片是%3d" % num2
message2 = "这个鼠标是%.1f" % num3
print(message, message1, message2)
(7)对表达式进行格式化:
1.表达式概念:
一条具有明确执行结果的代码语句;
例:1+1、5*2就是表达式,因为有具体的结构,结果是一个数字;
又或者,常见的变量定义:name="张三" age=12+26
在无需使用变量进行数据存储时,可以直接格式化表达式,简化代码;
print("2*3:%d"% (2*3))
print(f"2*9:{2*9}")
print("%s"% type("成功"))
2.格式化:
- f"{表达式}"
- "%s\%d\%f" % (表达式,表达式,表达式)
(9)股票计算小程序:
"""定义如下变量:·name,公司名·stock_price,当前股价·stock_code,股票代码·stock_price_daily_growth_factor,股票每日增长系数,浮点数类型,比如1.2·growth_days,增长天数计算,经过growth_days天的增长后,股价达到多少钱【要求】使用字符串格式化输出,如果是浮点数,要求小数点精度2位数。
"""
name = "微软"
stock_price = 19.99
stock_code = '12134'
stock_price_daily_growth_factor = 1.2
growth_days = 7
final_price= stock_price*stock_price_daily_growth_factor**growth_days
message = f"公司:{name},股票代码:{stock_code},当前股价:{stock_price}"
message1 = "每日增长系数是%.1f,经过%d天增长后,股价达到了:%.2f" % (stock_price_daily_growth_factor, growth_days, final_price)
print(message)
print(message1)
2.注释:
<1>定义:
在程序代码中对程序代码进行解释说明的文字;
<2>作用:
注释不是程序,不被执行,只是对程序代码进行解释说明,让别人可以看懂代码的作用,能够大大增强程序的可读性。
<3>分类:
(1)单行注释:
以#开头,#右边的所有文字当作说明,而不是真正要执行的程序,其辅助说明作用;
(2)多行注释:
- 用法:以 一对三引号 引起来("""注释内容""")来解释说明一段代码的作用使用方法;
- 常用于:整个Python代码、类、方法等;
# 输出加油
print("加油")
"""输出:加油你会成功的
"""
print("加油")
print("你会")
print("成功的")
【注意】一般#号与注释内容之间空一个小格
3.变量:
<1>定义:
- 变量:在程序运行时,能储存计算结果或能表示值的抽象概念。
- 也就是,变量在程序运行时,记录数据用的。
<2>定义格式:
<3>特征:
变量值可以改变
<4>print语句如何输出多份内容:
print(内容1,内容2,······,内容n)
"""演示python的相关操作
"""
# 定义一个变量,用来记录钱包的余额
money = 100# 通过print语句输出变量记录的内容
print("钱是", money, "元")# 买了一杯奶茶25元
money = money - 25
print("钱是还剩", money, "元")
4.数据类型:
<1>type()语句:
- 格式:type(被查看类型的数据)
- 使用方式:
- 用print直接输出类型信息
- 使用变量存储type()语句给结果
- 使用type()语句,查看变量中存储的数据类型;
# type()使用:
print(type(2.3))
print(type(2))
print(type("9898989"))# 用变量存储type()结果(返回值)
String_type = type("加油")
int_type = type(425)
float_type = type(2.9)
print(String_type)
print(int_type)
print(float_type)# 查看变量中存储类型
a = "成功"
a_type = type(a)
print(a_type)
【注意】我们通过type(变量)输出类型,查看的数据类型,变量无类型,但它存储数据有;
<2>数据类型转换:
(1)为什么转换类型:
- 将会是以后经常使用的功能。
- 从文件中读取数字,默认是字符串,我们需要转换成数字类型;
- 之后学校的input()语句,默认结果字符串,若需要数字也需要转换;
- 将数字转换成字符串用以写出外部系统
- 等等。
(2)常见转换语句:
语句(函数) | 说明 |
---|---|
int(x) | 将x转换成一个整数 |
float(x) | 将x转换成一个浮点数 |
str(x) | 将对象x转换成字符串 |
【注意】与type()语句一样,这三个语句,都是带有结果(返回值),可以使用print直接输出或用变量存储结果值;
# 将数字类型转换成字符串
t = str(123)
# 将字符串转换成数字
i = int("659")print(type(t), t)
print(type(i), i)
【注意】
- 浮点数转整数会有精度丢失;
- 字符串内必须只有数字才可以转换成数字;
5.标识符:
<1>什么是标识符:
在python程序中:
- 变量的名字
- 方法的名字
- 类的名字,等等
这些名字,我们把它统一称之为标识符,用来做内容的标识。
所以,标识符:是用户在编程的时候所使用的一系列名字,用于给变量、类、方法等命名。
<2>命名规则:
- 内容限定:只能出现英文、中文、数字、下划线(_);
- 不推荐使用中文;
- 数字不可以开头;
- 大小写敏感:
- 不可使用关键字:
False | None | True | |||
and | as | assert | break | class | continue |
def | del | elif | else | except | finally |
for | from | golbal | if | import | in |
is | lambda | nonlocal | not | or | pass |
raise | return | try | while | with | yield |
i_name = 69
_name = "256"
name_12 = 999
print(i_name, _name, name_12)Rom = "加油"
rom = "666"
print(Rom, rom)
<3>命名规范:
- 变量名
- 类名
- 方法名
不同标识符,有不同的规范。
(1)变量的命名规范:
- 见名知意;
- 看见名字就知道是什么意思
- 简洁:尽量在确保“明了”的前提下,减小名字的长度
- 下划线命名法;
- 多个单词组合变量名,要使用下划线做分隔
-
first_name = "李"
- 英文字母全小写
-
name = "李四" age = 11
-
6.运算符:
<1>算术(数学)运算符:
print("1+1=", 1+1)
print("6-1=", 6-1)
print("2*8=", 2*8)
print("9/4=", 9/4)
print("9//4=", 9//4)
print("9%4=", 9%4)
print("2**3=", 2**3)
# 运算结果
1+1= 2
6-1= 5
2*8= 16
9/4= 2.25
9//4= 2
9%4= 1
2**3= 8
<2>赋值运算符:
运算符 | 描述 | 实例 |
---|---|---|
= | 赋值运算符 | 把 = 号右边的结果赋给左边的变量,如num=1+2*3,结果num值为7 |
<3>复合赋值运算符:
运算符 | 描述 | 实例 |
---|---|---|
+= | 加法赋值运算符 | 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 |
7.数据输入:
<1>input语句(函数):
- 与前面学习的print语句(函数),可以完成将内容(字面量、变量等)输出到屏幕上;
(1)主要作用:
获取键盘输入
(2)使用:
- 使用input()语句可以从键盘获取输入;
- 使用一个变量接收(存储)input语句获取的键盘输入数据即可;
print("你是?")
name = input()
print(name)
【注意】input()语句是可以要求使用者输入内容前,输出提示内容;也就是在input(提示内容)
name = input("请告诉我你是谁")
print("你是%s" % name)num = input("请告诉我你学号")
num = int(num)
print("类型是:", type(num))
【注意】无论键盘输入什么类型数据,获取到的数据永远都是字符串类型;
(3)登录小程序:
"""定义两个变量,用以获取从键盘输入的内容,并给出提示信息:·变量1,变量名:user_name,记录用户名称;·变量2,变量名:user_type,记录用户类型;并提供格式化字符串的形式,通过print语句输出欢迎信息
"""
user_name = input("请输入您的名字:")
user_type = input("请输入所持会员卡类型:")
print(f"您好:{user_name},您是尊贵的:{user_type}用户,欢迎您的光临。")