目录
1. 注释
2. 字面量
3. 变量
4. 数据类型
5. 字符串扩展
(1). 字符串的三种定义方式
(2). 字符串拼接
(3). 字符串格式化1
(4). 格式化精度控制
(5). 字符串格式化2
(6). 表达式的格式化
6. 数据类型转换
7. 标识符
8. 运算符
9. 数据输入(input语句)
1. 注释
注释对于每种编程语言来说都非常重要,当我们拿到一段代码的时候,为了尽快了解这段代码实现的功能,不同变量表示的意思,注释就显得十分有必要了。
注释不是程序,不能被执行,只是对程序代码进行解释说明,让别人可以看懂程序代码的作用,能够大大增强程序的可读性。
在C/C++里我们有两种注释方法,一种是直接//,另一种就是/* */。在Python中,注释也有两种形式,一种是单行注释,一种是多行注释。
2. 字面量
字面量:在代码中,被写下来的的固定的值,称之为字面量
Python中常用的有6种值(数据)的类型:
3. 变量
变量:在程序运行时,能储存计算结果或能表示值的抽象概念。
简单的说,变量就是在程序运行时,记录数据用的。
# 变量举例
a=20
b=1.25
c='c'
# 变量的特征:变量存储的数据可以改变
b=a-b
4. 数据类型
在入门阶段,我们主要接触如下三类数据类型:
我们可以通过type()语句来得到数据的类型 :
# 直接打印类型
print(type("hello"))
print(type(123))
print(type(1.23))
# 用变量存储type()的结果(type的返回值)
string_type = type("hello")
int_type = type(666)
float_type = type(11.345)
print(string_type)
print(int_type)
print(float_type)
注意:变量本身是没有类型的,但是它存储的数据有类型。
5. 字符串扩展
(1). 字符串的三种定义方式
字符串有3种不同的定义方式:
三引号定义字符串和多行注释的写法一样,同样支持换行操作。使用变量接收它,它就是字符串;不使用变量接收它,就作为多行注释使用。
思考:如果我想要定义的字符串的内容包含单引号、双引号自身呢?
- 单引号定义法,可以内含双引号
- 双引号定义法,可以内含单引号
- 可以使用转移字符(\)来将引号解除效用,变成普通字符串
# 在单引号内嵌套双引号
name1='"hello"'
print(name1)
# 在双引号内嵌套单引号
name2="'Python'"
print(name2)
# 通过转义字符
name3="\"hello\""
print(name3)
(2). 字符串拼接
如果我们有两个字符串(文本)字面量,可以将其拼接成一个字符串,通过+号即可完成。
print("hello"+" "+"Python")
一般字面量和变量或变量和变量之间会使用拼接 。
num = "三"
print("今天你还有" + num +"节课")
# 数字不能直接拼接
course = 5
print("今天一共有" + course +"节课") # 代码报错
(3). 字符串格式化1
我们会发现,拼接字符串有两个很明显的缺陷:变量过多,拼接起来太麻烦;字符串无法和数字或其它类型完成拼接。
我们可以通过占位符来实现字符串的拼接。
language ="Python"
message ="hello %s"% language
print(message)
其中的,%表示要占位;s表示将变量变成字符串放入占位的地方。
数字也能用%s占位,就是将数字转换成了字符串。但其实也能用对应的类型去占位。
多个变量占位要用括号括起来,并按照占位的顺序填入,中间一定用的是%。
grade= 2022
class_num = 3
message ="常州大学%s级%s班" % (grade,class_num)
print(message)
message ="常州大学%d级%d班" % (grade,class_num)
print(message)
(4). 格式化精度控制
name = "字节跳动"
set_up = 2012
stock =19.99
message ="我是:%s,我成立于:%d,我今天的股价是:%f" % (name,set_up,stock)
print(message)
我们发现19.99输出时变成了19.990000。这就是因为我们没有对输出精度加以控制。
num1 = 11
num2 = 11.345
print("数字11宽度限制5,结果:%5d" % num1)
print("数字11宽度限制1,结果:%1d" % num1)
print("数字11.345宽度限制7,小数精度2,结果 :%7.2f" % num2)
print("数字11.345不限制宽度,小数精度2,结果 :%.2f" % num2)
(5). 字符串格式化2
通过语法:f"内容{变量}"的格式可以进行快速格式化,这种写法不做精度控制也不care数据类型,因此适用于快速格式化字符串。
name = "字节跳动"
set_up = 2012
stock = 19.99
print(f"我是{name},我成立于{set_up},我今天的股价是{stock}")
(6). 表达式的格式化
表达式:一条具有明确执行结果的代码语句。
print("1 *1的结果是:%d" % (1*1))
print(f"1 * 1的结果是:{1 * 1}")
print("字符串在Python中的类型是:%s" % type('字符串'))
6. 数据类型转换
同前面的type()语句一样,他们都有返回值,可以用print直接输出或用变量存储结果值。
print(str(11))
print(int(3.14)) # 浮点数转整数会丢失小数部分的精度
print(float(1))
print(int("11"))
print(float("11"))
类型转换不是万能的,我们要注意:
任何类型,都可以通过str(),转换成字符串
字符串内必须真的是数字,才可以将字符串转换为数字
num=int("hello")
print(num) # 这段代码会报错
# 只有字符串的内容是数字,才能够类型转换为int或float类型
7. 标识符
在Python程序中,我们可以给很多东西起名字,比如:变量名、函数名、类名等等。
这些名字统一称为标识符,用来做内容的标识。
Python中,标识符命名的规则主要有3类:内容限定、大小写敏感(大写和小写表示的是完全不同的变量)、不可使用关键字。
标识符命名中,只允许出现:英文、中文、数字、下划线(_)这四类元素。其余任何内容都不被允许。
注意:不推荐使用中文,但是可以使用;一定不能用数字开头。
8. 运算符
算术(数学)运算符:
print("1 + 1结果是:%d"%(1 + 1))
print("2- 1结果是:%d"%(2 - 1))
print("1 * 3结果是:%d"%(1 * 3))
# /默认是浮点型结果
print(4 / 2)
print(4 / 3)
# 也可以通过占位符%d和%f控制结果是整型还是浮点型
print("4 / 3结果是:%d"%(4 / 3))
print("4 / 3结果是:%f"%(4 / 3))
print("9 // 2(9整除2)结果是:%d"%(9 // 2))
print("9 %% 2(9余2的结果是)结果是:%d"%(9 % 2))
print("2 的 6 次方是:结果是:%d"%(2 ** 6))
赋值运算符:
复合赋值运算符:
9. 数据输入(input语句)
我们前面学习过print语句(函数),可以完成将内容(字面量、变量等)输出到屏幕上。
在Python中,与之对应的还有一个input语句,用来获取键盘输入。
使用上也非常简单:使用input()语句可以从键盘获取输入;使用一个变量接收(存储)input语句获取的键盘输入数据即可。
num = input()
print(f"输入的数字是{num}")
如果我们想在输入内容前加一下提示语句,可以直接在input语句内实现。
num = input("请输入一个正整数:")
print(f"输入的数字是{num}")
注意:对于input语句,不管我们输入的是什么类型的数据,input都将其作为字符串。