# 数据类型查看、数据转换、变量标识符规范、运算符、字符串的格式化、表达式的格式化、数据输入的讲解
"""
type(语句)
我们可以通过type()语句来得到数据的类型:
语法:
type(被查看类型的数据)
"""
# 通过print直接打印数据类型
print(type("这是一个字符串"))
a = type(1902)
print(a)
print(type(19.02))
# 查看type返回的类型,得知返回的是type类型
b=763
b1 = type(b)
print("b的类型是:",b1,"b1的类型是(查看type返回的类型)",type(b1))
print("-------------------数据类型查看讲解完毕,以下为数据转换讲解-------------------------------------\n")
"""
数据类型之间,在特定的场景下,是可以相互转换的,如字符串转数字、数字转字符串等
数据类型转换,将会是我们以后经常使用的功能。
如:
· 从文件中读取的数字,默认是字符串,我们需要转换成数字类型
· 后续学习的input()语句,默认返回结果是字符串类型,若需要数字也需要转换
· 将数字转换成字符串用以写出到外部系统
· 等等
常用转换函数
int(xxx) 转换为整型
float(xxx) 转换为浮点型
str(xxx) 转换为字符串型
以上转换函数都是带有返回结果,需要使用变量接收
"""
# 转换为字符串,注意,万物皆可转换为字符串类型
num_str = str(19)
print(type(num_str),num_str)
num = int("22")
num2 = float("22.22")
print(type(num),num)
print(type(num2),num2)
# 注意,整型和浮点型的转换必须确保字符串都是对应的类型,否则会报错
# num3 = int("整型转不了字符串")
# 整型转浮点数会默认多一个小数点的精度
num4 = float(33)
# 同理,浮点数转换为整型会丢失所有小数点
num5 = int(33.33)
print(type(num4),num4)
print(type(num5),num5)
print("-------------------数据转换讲解完毕,以下为变量标识符规范讲解-------------------------------------\n")
"""
变量名的命名规范
· 见名知意:看到名字,就知道是什么意思。另外,尽量简洁变量名的长度
· 下划线命名法:多个单词时使用下划线分隔
· 英文字母全小写
"""
print("-------------------变量标识符规范讲解完毕,以下为运算符讲解-------------------------------------\n")
"""
算术运算符:
除开加减乘除之外,还有三种特别的运算符,分别是:
// 取整除,返回商的整数部分 9//2 计算结果返回为4 9.0//2.0 返回4.0
% 取余,返回除法的余数
** 指数,4**2 返回16
复合赋值运算符
+= 等效于c += a c= c+a 以下同理
-=
*=
/=
%=
**=
//=
"""
print(1+1)
print(3-1)
print(2*3)
print(10/3)
print(10//3) # 取整除
print(10%3) # 取余
print(4**2) # 指数
print("-------------------运算符讲解完毕,以下为字符串拓展讲解-------------------------------------\n")
"""
字符串的三种定义方式
· 字符串在Python中有多种定义形式:
1.单引号定义法 name='xxx'
2.双引号定义法 name="xxx"
"""
# 3.三引号定义法 name="""xxx"""
"""
三引号定义法,和多行注释的写法一样,同样支持换行操作。使用变量接收它,它就是字符串
不使用变量接收它,接可以作为多行注释使用。
关于引号的嵌套:
引号本身可以使用 '\' 来转义成普通的字符串,
又或者单引号内可以写双引号或双引号内可以写单引号
字符串格式化:
常用格式化格式为:%s、%d、%f
· % 占位符,表示我要占位
· s 表示将变量变成字符串放入占位的位置
· d 表示将变量变成整型放入占位的位置
· f 表示将变量变成浮点型放入占位的位置
"""
int_tmp1 = 130000000
int_tmp2 = 18
# 这个例子中,多个变量占位,变量要用括号括起来,中间使用逗号分隔,并按照占位的顺序填入
str_tmp1 = "我的手机是:%s,年龄:%s" %(int_tmp1,int_tmp2)
print(str_tmp1)
# 以下示例使用了3个常用的占位符符号拼接而成的字符串
int_tmp3=13
float_tmp1=25.2
str_tmp2="祝你今天好心情"
str_tmp3="今天是%d号,室外温度:%f,%s" %(int_tmp3,float_tmp1,str_tmp2)
print(str_tmp3)
"""
字符串格式化-数字精度控制
可以使用辅助符号"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
"""
int_tmp4=11
float_tmp2=11.345
print("数字%d的宽度是%d,最后结果是%5d" % (int_tmp4,5,int_tmp4))
print("数字%d的宽度设置的比实际宽度还要小,最后结果会是%1d,宽度控制就失效了" % (int_tmp4,int_tmp4))
print("浮点数%.3f的宽度是%d,最后结果是%4.2f" % (float_tmp2,4,float_tmp2))
print("浮点数%.3f,不限制宽度,最后结果是%.2f" % (float_tmp2,float_tmp2))
"""
快速格式化字符串
· 通过语法:f"内容{变量}"的格式来快速格式化
这个快速方法不关心数据类型也不关心数据宽度精度,只是快速的将变量占位到字符串中!
f(format)
"""
print(f"数字{int_tmp4}的快速格式化测试")
print("-------------------字符串拓展讲解完毕,以下为表达式格式化讲解-------------------------------------\n")
"""
表达式:一条具有明确执行结果的代码语句
如:
1+1、5*2就是表达式,因为有具体的结果,结果是一个数字
又或者,常见的变量定义:
name = "张三" age=11+11
等号右侧的都是表达式,因为它们有具体的结果,结果赋值给了等号左侧的变量
"""
print("1+1=%d" %(1+1))
print(f"5*2={5*2}")
print("10/3=%.2f" %(10/3))
print("-------------------表达式格式化讲解完毕,以下为数据输入-------------------------------------\n")
var_str1=input("输入用户名: ")
var_str2=input("输入用户类型: ")
print("尊敬的%s %s,你好" %(var_str1,var_str2))
# 注意input函数输入后的为str类型
print("-------------------数据输入讲解完毕,以下为综合练习-------------------------------------\n")
"""
股价计算小程序
计算,经过多少天的增长后,附加达到了多少钱
使用字符串格式化进行输出,如果是浮点数,要求小数点精度2位。
"""
work_name="黎明方舟"
now_num=12.5
gp_code=55699
gp_one_day_up_num=1.2
up_days=22
print(f"公司:{work_name},股票代码:{gp_code},当前股价:{now_num}")
print("每日增长系数是:%.2f,经过%d天的增长后,股价达到了%.2f" %(gp_one_day_up_num,up_days,now_num*(up_days**gp_one_day_up_num)))
|