苦厄难夺凌云志,不死终有出头日
——24.1.18
一、标识符
1.什么是标识符
标识符:用户在编程的时候所使用的一系列名字,用于给变量、类、方法等命名
2.标识符命名规则
python中,标识符命名规则主要有三类:
①内容限定
标识符命名中,只允许出现:英文、中文、数字、下划线这四类元素,其他都不允许
不推荐使用中文
数字不能用在开头
②大小写敏感,完全区分
③不可使用关键字作为标识符
关键字:
#规则1:内容限定,限定只能使用中文、英文、数字、下划线,不能以数字开头
# 错误的代码示范:1namw = "张三"
# 错误的代码示范:name_! = "张三"
name_ = "张三"
name1 = "张三"
_name = "张三"#规则2:大小写敏感
Itheima = "heima"
itheima = 666
# print(itheima) #666
# print(Itheima) #heima#规则3:不可使用关键字
#错误的示例:使用了关键字 class = 1
3.标识符命名规范
变量名、类名、方法名,不同的标识符,有不同的命名规范
变量的命名规范
见名知意
下划线命名法
英文字母全部小写
4.总结
二、运算符
1.算术(数学)运算符
print("1 + 1 = ", 1 + 1)
print("2 - 1 = ", 2 - 1)
print("4 / 2 = ", 4 / 2)
print("9 % 2 = ", 9 % 2)
2.赋值运算符
# 演示python中各类运算符#算数(数学)运算符
print("1 + 1 = ", 1 + 1)
print("2 - 1 = ", 2 - 1)
print("4 / 2 = ", 4 / 2)
print("9 % 2 = ", 9 % 2)# 赋值运算符
num = 1 + 2 + 3# 复合赋值运算符
num = 1
num += 1 #num = num + 1
print("num += 1: ",num) #num += 1: 2
num -= 1
print("num -= 1: ",num) #num -= 1: 1
num *= 4
print("num *= 4: ",num) #num *= 4: 4num = 3
num %= 2
print("num % 2: ",num) #num % 2: 1num **= 2
print("num ** 2: ",num) #num ** 2: 1num = 9
num //= 2
print("num % 2: ",num) #num % 2: 4
3.总结
1.常见的算数(数学)运算符有:
加(+)、减(-)、乘(*)、除(/)、整除(//)、取余(%)、求平方(**)
2.赋值运算符有:
标准赋值:=
复合赋值:+=、-=、*=、/=、//=、%=、**=
三、字符串拓展
1.字符串的三种定义方式
字符串在Python中有多种定义方式:
①单引号定义法:name = '一切都会好的'
②双引号定义法:name = "一切都会好的"
③三引号定义法:name = """一切都会好的"""
三引号定义法:和多行注释的写法一样,同样支持换行操作
使用变量接收它,它就是字符串
不使用变量接收它,就可以作为多行注释使用
# 演示字符串的三种定义方式:
# ①单引号定义法
# ②双引号定义法
# ③三引号定义法# ①单引号定义法,使用单引号进行包围
name = '一切都会好的'
print(type(name))
# ②双引号定义法:使用双引号进行包围
name = "一切都会好的"
print(type(name))
# 三引号定义法:使用三引号进行包围,和多行注释一样
name = '''一切
都会好的
'''
print(type(name))
字符串的引号嵌套
如果定义的字符串自身包含:单引号、双引号自身
写法:
①单引号定义法:可以包含双引号
②双引号定义法:可以包含双引号
③可以使用转义字符(\)来将引号解除效用,变成普通字符串
# 在字符串内包含双引号
name = '"万事胜意"'
print(name)
# 在字符串内包含单引号
name = "'一切都会好的'"
print(name)
# 使用转义字符 \ 解除引号的效用
name = "\"我一直相信\""
print(name)
name = '\'我一直相信\''
print(name)
总结
1.字符串的三种定义方式:
单引号方式
双引号方式
三引号方式
2.引号的嵌套
可以使用:\ 来进行转义
单引号内可以写双引号或双引号内可以写单引号
2.字符串拼接
拼接一般用于变量和字符串、变量和变量之间
#字符串字面量之间的拼接
print("一切都会好的"+"我一直相信")#字符串字面量和字符串变量之间的拼接
better = "一切都会好的"
trust = "我一直相信"
print(better + " " + trust +" " + "万事胜意")
总结
1.如何完成字符串拼接?
使用”+“号连接字符串变量或字符串字面量即可
2.有哪些注意事项?
无法和非字符串类型进行拼接
3.字符串格式化
name = "一切都会好的"
future = "我一直相信 %s" % name
print(future)
其中的%s
% 表示:我要占位
s 表示:将变量变成字符串放入占位的地方
所以,综合起来的意思是:我先占个位置 ,等一会有个变量,把它放在%所占到的位置里
多个变量占位,变量要用括号括起来,并按照占位的顺序填入
name = "一切都会好的"
future = "我一直相信 %s" % name
# print(future)
time = 20210723
event = "Rebirth"
print("在%s,发生了事故,但是我活了下来,杀不死我的会让我更强大,我迎来了%s,%s" % (time,event,future))
不同数据类型的占位符号
name = "一切都会好的"
future = "我一直相信 %s" % name
# print(future)
time = 20210723
event = "Rebirth"
print("在%d,发生了事故,但是我活了下来,杀不死我的会让我更强大,我迎来了%s,%s" % (time,event,future))
总结
1.字符串格式化的语法
%占位符 % 变量
2.常用占位符:
字符串:%s 整数:%d 浮点数:%f
4.字符串格式化的精度控制
我们可以使用辅助符号m.n来控制数据的宽度和精度
m,控制宽度,要求是数字(很少使用),设置的密度小于数字自身,不生效
n,控制小数点精度,要求是数字,会进行小数的四舍五入
示例:
%5d:表示将整数的宽度控制在5位,如数字11,被设置为5d,就会变成:[空格][空格][空格]11,用三个空格补足宽度
%5.2f:表示将整数的宽度控制在5位,将小数点精度设置为2
小数点和小数部分也算作宽度计算,如,对11.345设置了%7.2f后,结果是[空格][空格]11.35,两个空格补足宽度,小数部分限制2位精度后,四舍五入为.35
%.2f:表示不限制宽度,只设置小数点精度为2,如11.345设置%.2f后,结果是11.35
num1 = 11
num2 = 11.677
print("数字11宽度限制5,结果是:%5d",num1)
print("数字11宽度限制1,结果是:%1d",num1)
print("数字11.677宽度限制7,小数精度2,结果是:%7.2f",num2)
print("数字11.677宽度不限制,小数精度2,结果是:%.2f",num2)
总结
1.精度控制的语法是:
m.n的形式控制,如%5d,%5.2f,%.2f
m和.n均可省略
2.如果m比数字本身宽度还小,会发生什么?
忽略m,m不生效
3..n会对小数部分做精度控制,同时?
会对小数部分四舍五入
5.字符串格式化方法2
通过语法:f"内容(变量)"的格式来快速格式化
示例:
name='lcl'
age = 21
price = 27000
print(f"我是{name},我的年龄是{age},我未来的月薪是{price}")
不限数据类型,同时也不做精度控制,原样输出
总结
1.可以通过
f" {变量} {变量}"的方式进行快速格式化
2.这种方式:
不理会类型,不做精度控制
适合对精度没有要求的时候快速使用
6.对表达式进行格式化
表达式:一条具有明确执行结果的代码语句,或者常见的变量定义
如:
1+1、5*2,就是表达式,有具体的结果
如:
name = “张三” age = 11 + 11
等号右侧的都是表达式,他们有具体的结果,结果赋值给了等号左侧的变量
print("1+1的结果是:%d" % (1+1+4))
print("rebirth_day是:%d" % (21+7+23))
print("字符串的类型是:%s" % type("一切都会好的"))
print(f"1*9的结果是: {1*9}")
在无需使用变量进行数据存储的时候,可以直接格式化表达式,简化代码
总结
1.表达式是什么?
表达式就是一个具有明确结果的代码语句
2.如何格式化表达式
f"{表达式}"
"%s %d %f" % (表达式1,表达式2,表达式3)
练习 股价计算小程序
定义如下变量:
name 公司名
stock_price,当前股价
stock_code,股票代码
stock_price_daily_growth_factor,股票每日增长系数,浮点数类型,比如1.2
growth_days,增长天数
计算,经过growth_days天的增长后,股价达到了多少钱
使用字符串格式进行输出,如果是浮点数,要求小数点精度2位数
示例输出:
公司:公司名,股票代码:xxxxx,当前股价:xxxx ——> 使用f"(变量)" 输出
每日增长系数:xxx,经过7天的增长后,股价达到了:xxxxx ——> 使用“%占位符的方式输出
name = "光华"
stock_price = 27.81
stock_code = "021104"
#股价每日增长系数
stock_price_daily_growth_factor = 1.01
growth_days = 36
result_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,result_price))
7.数据输入(input语句)
1.input语句(函数)
数据输出:printf
数据输入:input()
2.使用也非常简单:
①使用input()语句可以从键盘获取输入
②使用一个变量接收(存储)input语句获取的键盘输入数据即可
#演示python中的input语句,获取键盘的输入信息
name = input("请您输入您的名字\n")
print("欢迎您,%s" % name)
#输入数字类型
num = input("请告诉我您的生日:")
print(f"您的生日是{num}")
print(type(num))#<class 'str'>
#input语句不管输入什么类型的数据,都会被当作字符串处理
num = int(num)
print(type(num))
总结
1.input()语句的功能是,获取键盘输入的数据
2.可以使用:input(提示信息),用以在使用者输入内容之前显示提示信息
3.要注意,无论键盘输入什么类型的数据,获取到的数据永远都是字符串类型
练习
欢迎登陆小程序
定义两个变量,用以获取从键盘输入的内容,并给出提示信息:
变量1,变量名:user_name,记录用户名称
变量2,变量名:user_type,记录用户类型
并通过格式化字符串的形式,通过print语句输出欢迎信息,如下:
您好,亲爱的user_name,您是user_type用户,欢迎您的光临
user_name = input("请您输入用户名:")
uesr_type = input("请您输入您的用户类型:")
print(f"您好,{user_name},您是尊贵的{uesr_type}用户,欢迎您的光临" )