一、字面量
字面量:在代码中,被写下来的固定的值,称之为
字面量
。
python中常见的有6种数据类型
字符串
又称文本,是由任意数字的字符如中文、英文、各类符号、数字组成。所有叫作字符的串。
类型 | 程序中的写法 | 说明 |
---|---|---|
整数 | 666, -999 | 和现实中的写法一致 |
浮点数(小数) | 3.14, -5.21 | 和现实中写法一致 |
字符串(文本) | "鬼童丸永远滴神" | 程序中要用双引号来表示字符串 |
print(666)
print(3.14)
print("鬼童丸永远滴神")
二、注释
注释:在程序代码中对程序代码进行解释性说明的文字
作用:注释不是程序,不能被执行
,只是对程序代码进行解释说明,让别人可以看懂程序代码的作用,能够大大增强程序的可读性。
1.注释分类
(1).单行注释
以
#开头,#右边
的所有文字当做说明,而不是真正要执行的程序,起辅助说明作用
。
# 我是单行注释
print("Hello World")
(2).多行注释
以
一对三个双引号
引起来("""注释内容"""
)来解释说明一段代码的作用使用方法
"""
我是多行注释
"""
print("hello world")
三、变量
1.什么是变量
变量:
在程序运行时
,能储存
计算结果或能表示值
的抽象概念。
简单的说,变量就是在程序运行时,记录数据用的。
变量的格式定义
变量名称=变量的值
# 定义一个钱包
money = 50
# 通过print语句输出
print(money)
还有一种
# 定义一个钱包
money = 50
# 通过print语句输出
print("钱包还有:",money)
print语句格式
print(内容1,内容2......,内容N)
2.例一:
买了一个冰激凌,花费10元
# 买了一个冰激凌,花费10元
# 定义一个钱包
money = 50
# 通过print语句输出
print("钱包还有:",money)
money = money - 10
print("钱包还有",money)
四、数据类型
开始我们接触的都是这三个数据类型
1.type()语句
我们可以通过type()语句来得到数据的类型:
语法:
type(被查看类型的数据)
例:
print(type("鬼童丸永远滴神"))
print(type("鬼童丸永远滴神"))
print(type(666))
print(type(11.345))
str是string的缩写
2.用变量储存type()的结果(返回值):
string_type = type("鬼童丸永远滴神")
int_type = type(666)
float_type = type(3.14)
print(string_type)
print(int_type)
print(float_type)
3.type()语句的使用方式
查看的都是<字面量>的类型,能查看变量中存储的数据类型
么?
可以
示范:
name = "鬼童丸"
name_type = type(name)
print(name_type)
例1:使用print直接输出类型信息
print(type("鬼童丸永远滴神"))
print(type(666))
print(type(11.345))
例2:使用变量存储type()语句的结果
string_type = type("鬼童丸")
int_type = type(666)
float_type = type(3.14)
print(string_type)
print(int_type)
print(float_type)
例3:使用type()语句,查看变量中存储的数据类型信息
name = "鬼童丸"
name_type = type(name)
print(name_type)
五、数据类型的转换
数据类型之间,在特定的场景下,是可以互相转换的,如字符串转数字、数字转字符串等…
1.为什么要转换类型?
从文件中读取的数字,默认是字符串,我们需要转换成数字类型
input()语句,默认结果是字符串,若需要数字也需要转换
将数字转换成字符串用以写出到外部系统
等等…
语句(函数) | 说明 |
---|---|
int(x) | 将x转换为一个整数 |
float(x) | 将x转换为一个浮点数 |
str(x) | 将对象x转换为字符串 |
注意:同前面的type()
语句一样,这三个语句、都是带有结果的(返回值)
我们可以用print
直接输出
或用变量储存结果值
2.示范
将数字类型转换成字符串
# 将数字类型转换成字符串
num_shu = str(11)
print(type(num_shu))
输出内容
# 将数字类型转换成字符串
num_shu = str(11)
print(type(num_shu),num_shu)
将浮点数转字符串
# 将浮点数转字符串
float_shu = str(11.345)
print(type(float_shu),float_shu)
将字符串转换成数字
# 将字符串转数字
int_shu = int("11")
print(type(int_shu),int_shu)
将字符串转化成浮点数
# 将字符串转换成浮点数
shu = float("11.0")
print(type(shu),shu)
注意:不是任何字符串都可以转数字的
如shu = int("鬼童丸永远滴神")
绝对报错
六、标识符
在Python程序中,我们可以给很多东西起名字,比如:
变量的名字
方法的名字
类的名字,等等
这些名字,我们把它统一的称之为标识符,用来做内容标识。
七、运算符
1.算数运算符
示范:
print("加法 :1 + 1 = ", 1 + 1)
print("减法 :2 - 1 = ", 2 - 1)
print("乘法 :3 * 3 = ", 3 * 3)
print("除法 :4 - 2 = ", 4 / 2)
print("取整除:11 // 2 = ", 11 // 2)
print("取余 :11 % 2 = ", 11 % 2)
print("指数 :2 ** 2 = ", 2 ** 2)
赋值运算符和复合赋值运算符
运算符 | 描述 | 实例 |
---|---|---|
+= | 加法赋值运算符 | 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 |
八、字符串拓展
1.字符串的三种定义方式
字符串在python中有多种定义形式:
1.单引号定义法:
name = '鬼童丸'
2.双引号定义法:
name = "鬼童丸"
3.三引号定义法:
name = """鬼童丸"""
2.字符串拼接
如果我们有两个字符串(文本)字面量,可以将其拼成一个字符串,通过
+
号即可完成,如:
print("鬼童丸"+"饲养员")
不过一般,单纯的2个字符串字面进行拼接显得呆板,一般,字面量和变量或变量和变量之间会使用拼接,如:
name = "鬼童丸"
print("我是:" + name + "饲养员")
3.字符串格式化
首先,我们会发现这个拼接字符串不好用
1.变量过多,拼接起来实在太麻烦了
name = "鬼童丸"
sex = "男"
address = "修罗鬼蜮"
hobby = "鬼王狩猎"
print("我是" + name + ",我的性别是: " + sex + ",我住在:" + address + "我的爱好是:" + hobby)
2.字符串无法和数字或其他类型完成拼接
解决方法:
字符串格式化
我们可以通过如下语法,完成字符串和变量的快速拼接。
name = "鬼童丸"
I_am = "%s饲养员" % name
print(I_am)
其中的
%s
- % 表示:我要占位
- s 表示:将变量变成字符串放入占位的地方
所以,综合起来的意思就是:我先占个位置,等一会有个变量过来,我把它变成字符串放占位的位置
job_num = "5"
wages_num = "10022"
print("我是鬼童丸,工作第%s年,当前的工资为:%s" % (job_num , wages_num))
注意:多个变量占位,变量要用括号括起来,并按照占位的顺序填入
python中,其实支持非常多的数据类型占位
最常用的是如下三类
格式符号 | 转化 |
---|---|
%s | 将内容转化成字符串,放入占位位置 |
%d | 将内容转化成整数,放入占位位置 |
%f | 将内容转化成浮点数,放入占位位置 |
如下代码,完成字符串、整数、浮点数,三种不同类型变量的占位
name = "鬼童丸"
Critical_hit_int = 88
Critical_damage_float = 256.46
total = "我是:%s,我的暴击为:%d,我的暴击伤害为:%f" % (name , Critical_hit_int , Critical_damage_float)
print(total)
4.格式化的精确控制
(1)、说明
什么意思呢?看上面的代码 我们的暴击伤害
256.46
变成了256.460000
输出
我们可以使用辅助符号“m.n”来控制数据的宽度和精度
m
:控制宽度,要求是数字(很少使用),设置的宽度小于数字自身,不生效.n
:控制小数点精度,要求是数字,会进行小数的四舍五入
示例:
-
%5d
:表示将整数的宽度控制在5
位,如数字11
,被设置为5d
,就会变成:[空格][空格][空格]11
,用三个空格补足宽度。 -
%5.2f
:表示将宽度控制为5
,将小数点精度设置为2
小数点和小数部分也算入宽度计算。如,11.345
设置成%7.2f
后,结果是:[空格][空格]11.35
。2个空格补足宽度,小数部分限制为2位精度后,四舍五入为.35
-
%.2f
:表示不限制宽度,只设置小数点精度为2
,如11.345
设置%.2f
后,结果是11.35
。
(2)、实例
num1 = 11
num2 = 11.345
print("数字11宽度限制为5,结果:%5d" % num1)
print("数字11宽度限制为1,结果:%1d" % num2)
print("数字11.345宽度限制7,小数精度2,结果:%7.2f" % num2)
print("数字11.345不限制宽度,小数精度为2,结果:%.2f" % num2)
5.快速字符串格式化的方式
目前通过
%
符号占位的已经很方便了,还能进行精度控制。
可是追求效率和优雅的python,是否能更加优雅的方式解决问题呢?
通过语法:f"内容{变量}"
的格式来快速格式化
实例如下代码:
name = "鬼童丸"
Critical_hit_int = 88
Critical_damage_float = 256.46
total = (f"我是:{name},我的暴击为:{Critical_hit_int},我的暴击伤害为:{Critical_damage_float}")
print(total)
总结:
1.可以通过
f"{变量}{变量}"
的方式进行快速的格式化
2.这种方式
- 不理会类型
- 不做精度控制
适合对精度没有要求的时候快速使用
6.对表达式进行格式化
表达式
:一条具有明确执行结果
的代码语句
如:
1 + 1
、5 * 2
,就是表达式,因为有具体的结果,结果是一个数字。
或
name = "张三"
age = 11 + 11
对于字符串格式化,能否直接格式化一个表达式呢?
示范:
print("1*1的结果是:%d" % (1*1))
print(f"1*1的结果是:{1 * 1}")
print("字符串在python中的类型是:%s" % type('字符串'))
在无需使用变量进行数据存储的时候,可以直接格式化表达式,简化代码
九、数据输入
1.初体验
在python中
- 数据输出:
- 数据输入:
input
input怎么使用呢?
示例:
print("你是谁?")
name = input()
print("ぼくわ!!! %s です" % name)
在前面的代码中,输出“你是谁?”
的print语句是多余的
print("你是谁?")
这个
input()
语句其实是可以在要求使用者输入内容前,输出提示内容的,方式如下:
name = input("你是谁?")
print("僕わ!!! %s です" % name)
2.输入类型
我们输入数字用
type()
看看是什么类型
num = input("你的银行卡号码是:")
print("你的银行卡号码是:" , type(num))
可以看到我们输入的数字是字符串类型的数据,那我们要的是数字类型怎么办呢?
我们可以通过int(num)
OK,我们上代码
num = input("你的银行卡号码是:")
num = int(num)
print("你的银行卡号码是:" , type(num))
3.总结
- 1.input()语句的功能是,获取键盘输入的数据。
- 2.可以使用:input(提示信息),用以在使用者输入内容之前提示信息。
- 3.要注意,无论键盘输入什么类型的数据,获取到的数据
永远都是字符串类型
十、补充:使用print输出不换行
默认print
语句会换行
如下:
print("Hello")
print("world")
我们需要使用print
语句,输出不换行的功能
,非常简单。
实现方法如下:
print("Hello",end='')
print("world",end='')
如图,在print
语句中,加上end=''
即可以输出不换行了
PS:
end=''
是使用的方式传参功能
十一、补充:制表符 \t
在字符串中,有一个特殊符号:\t
,效果等同于在键盘上按下:tap
键。
它可以让我们的多行字符串进行对齐
。
比如:
print("Hello World")
print("itheima best")
print("")
print("Hello\tWorld")
print("itheima\tbest")