一 字面量
1 字面量
- 字面量:在代码中,被写下来的的固定的值称之为字面量。类似C/C++的字符串常量。
1.1 常见的python值类型
Python中常见的值类型:
实际上在C/C++字面量和这里的类型还是有区别的,体现在内存存储中,字面量存储在代码区Text的只读存储区,而基本数据类型存储在栈上面。see C/C++2019秋招面试题集合05。
1.2 字符串
- 字符串(string) ,又称文本,是由任意数量的字符如中文、英文、各类符号、数字等组成。所以叫做字符的串。
Python中,字符串需要用双引号(“xxx”)包围起来。
if __name__ == '__main__':
a = 666
b = 3.14
c = "零基础,学Python"
print(a)
print(b)
print(c)
print(666) #同样也是字面量
print(3.14) #同样也是字面量
print("零基础,学Python, 月薪过万,就来黑马程序员。") #同样也是字面量
1.3 字面量总结
二 注释
2.1 注释的分类
- 单行注释:以#开头,#右边的所有文字当作说明,而不是真正要执行的程序,起辅助说明作用。
if __name__ == '__main__':
# 我是一个单行注释
- 多行注释:以一对三个单双引号引起来(’ ’ ‘注释内容’ ’ ’ )(" " " 注释内容" " ")来解释说明一段代码的作用使用方法。
if __name__ == '__main__':
'''
我
是
多
行
注
释
'''
#或者
"""
我
是
多
行
注
释
"""
注释是代码中的解释型语句,用来对代码内容进行注解。注释不是代码,不会被程序执行。
三 变量
变量:在程序运行时,能储存计算结果或能表示值的抽象概念。简单的说,变量就是在程序运行时,记录数据用的。
if __name__ == '__main__':
a = 666
print("钱包还有:",a,"元")
四 数据类型
在学习字面量的时候,我们了解到:数据是有类型的。
目前在入门阶段,我们主要接触如下三类数据类型:
如何查看验证数据类型?
答案是使用type()函数,通过type()的返回值我们可以知道变量的数据类型。
if __name__ == '__main__':
a = 666
b = type(a)
print(type(666))
print(type(a))
print(b)
print(type("a"))
'''
输出:
<class 'int'>
<class 'int'>
<class 'int'>
<class 'str'>
'''
变量有类型吗?我们通过type(变量)可以输出类型,这是查看变量的类型还是数据的类型?
查看的是:变量存储的数据的类型。因为,变量无类型,但是它存储的数据有。
五 数据类型转换
数据类型之间,在特定的场景下,是可以相互转换的,如字符串转数字、数字转字符串等。那么,我们为什么要转换它们呢?
从文件中读取的数字,默认是字符串,我们需要转换成数字类型,后续学习的input()语句,默认结果是字符串,若需要数字也需要转换,将数字转换成字符串用以写出到外部系统等等。
if __name__ == '__main__':
a = 666
b = "666"
c = 66.6
print(type(a))
print(type(b))
print(type(c))
b = int(b)
a = float(a)
d = str(a)
print(type(b))
print(type(a))
print(type(d))
"""
<class 'int'>
<class 'str'>
<class 'float'>
<class 'int'>
<class 'float'>
<class 'str'>
"""
想把字符串转换成数字,必须确保字符串里都是数字,否则会报异常,例如mynum = int(“你好”)会报异常。
六 标识符
6.1 什么是标识符?
在Python程序中,我们可以给很多东西起名字,比如:
- 变量的名字。
- 方法的名字。
- 类的名字。
- 等等。
这些名字,我们把它统一的称之为标识符,用来做内容的标识。所以标识符作用:是用户在编程的时候所使用的一系列名字,用于给变量、类、方法等命名。
6.2 标识符命名规则
- 组成部分:英文,中文(不推荐),数字(不可以用在开头),下划线(_)。
- 大小写敏感。
- 不可使用关键字。
python常见关键字。
七 运算符
7.1 算术(数学)运算符
if __name__ == '__main__':
# 算术(数学)运算符
print("1 + 1 = ",1 + 1) #2
print("2 - 1 = ",2 - 1) #1
print("3 * 3 = ",3 * 3) #9
print("11/ 2 = ",11 / 2) #5.5
print("11//2 = ",11 // 2) #5
print("9 % 2 = ",9 % 2) #1
print("2** 3 = ",2 **3) #8
7.2 赋值运算符
7.3 复合赋值运算符
if __name__ == '__main__':
# 复合赋值运算符
a = 11
a +=1
print("a += 1 : ", a) #12
a -=1
print("a -= 1 : ",a) #11
a *= 2
print("a *= 2 : ",a) #22
a /= 2
print("a /= 2 : ",a) #11.0
a **= 2
print("a **= 2 : ",a) #121.0
a //= 2
print("a //= 2 : ",a) #60.0
a %= 3.3
print("a %= 3.3 : ",a) #0.6000000000000032
八 字符串三种定义方式
8.1 字符串三种定义方式
三引号定义法,和多行注释的写法一样,同样支持换行操作。
使用变量接收它,它就是字符串,不使用变量接收它,就可以作为多行注释使用。
8.2 字符串的引号嵌套
- 单引号定义法,可以内含双引号。
- 双引号定义法,可以内含单引号。
- 可以使用转移字符()来将引号解除效用,变成普通字符串。
if __name__ == '__main__':
a = "'你好'"
b = '"你好"'
c = "\'你好\'"
d = '\"你好\"'
print(a)
print(b)
print(c)
print(d)
九 字符串的拼接
如果我们有两个字符串(文本)字面量,可以将其拼接成一一个字符串,通过+号即可完成,如:
if __name__ == '__main__':
print("你好"+ "世界")
a = "你好"
print(a+ "世界")
十 字符串格式化
我们可以通过以下语法,完成字符串和变量的快速拼接,实际上是利用是字符串的格式化。
语法:
变量 = "xxx %s" % 变量
%s:%表示我要占位,s表示要放的内容是字符串。所以%s表示我后续将一个变量的内容放到%s占位符的位置。
例如:
name = "张三"
student1 = "我的名字叫 %s, 来自广东" % name
print(student1)
常见占位符:
十一 字符串格式化的精度控制
我们可以用 m.n 来控制数据的宽度与精度。
- m,控制宽度,要求是数字(很少使用),设置的宽度小于数字自身,不生效。
- n,控制小数点精度,要求是数字,会进行小数的四舍五入。
if __name__ == '__main__':
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)
"""
数字11宽度限制5,结果: 11
数字11宽度限制1,结果:11
数字11.345宽度限制7,小数精度2,结果: 11.35
数字11.345不限制宽度,小数精度2,结果:11.35
"""
十二 字符串格式化的方式2
通过语法: f"内容{变量}"的格式来快速格式化。这种方式不理会类型,也不做精度控制,会原样输出。
f 的作用就是告诉电脑,我这里面会有占位符。
if __name__ == '__main__':
num1 = 11
num2 = 11.345
print(f"结果: {num1},结果: {num2}")
十三 对表达式进行格式化
表达式:一条具有明确执行结果的代码语句。
if __name__ == '__main__':
print("1 * 1的结果是: %d" % (1 * 1))
print(f"1 * 2的结果是: {1*2}")
print("字符串在Python中的类型名是: %s" % type("字符串"))
'''
1 * 1的结果是: 1
1 * 2的结果是: 2
字符串在Python中的类型名是: <class 'str'>
'''
十四 字符串格式化练习题讲解
if __name__ == '__main__':
name = "传智播客"
stock_price = 19.99
stock_code = "003032"
stock_price_growth_factor = 1.2
grow_days = 7
finally_stock_price = stock_price*stock_price_growth_factor**grow_days
print(f"公司: {name}, 股票代码: {stock_code}, 当前股价: {stock_price}")
print("每日增长系数: %2.1f,经过%d天的增长后,股价达到了: %.2f" % (stock_price_growth_factor, grow_days, finally_stock_price))
'''
公司: 传智播客, 股票代码: 003032, 当前股价: 19.99
每日增长系数: 1.2,经过7天的增长后,股价达到了: 71.63
'''
十五 数据输入(input语句)
获取键盘输入——利用input语句完成。
我们前面学习过print语句(函数),可以完成将内容(字面量、变量等)输出到屏幕上。
在Python中,与之对应的还有一个input语句,用来获取键盘输入。
if __name__ == '__main__':
# 1.
print("please tell me your name!")
name = input()
print("ok,your name is " + name)
# 2. 等价于方式1
name = input("please tell me your name!")
print("ok,your name is " + name)
# 3.
age = input("please tell me your age!")
print("ok,your age is " + age)
print("type: ", type(age))
依次输入:张三,李四,18,中间各自按下enter键后,得到如下结果: