1.1 字面量
字面量:在代码中,被写下来的固定的值,称之为字面量。
Python中常用的6种值的类型
类型 | 描述 | 说明 |
数值(Number) | 整数(int) 浮点数(float) 复数(complex) 布尔(bool) | 整数(int),如:10、-10 |
浮点数(float),如13.14、-13.14 | ||
复数(complex),如:4+3j | ||
布尔(bool)表达现实生活中的逻辑,即真和假,True表示真,False表示假。 True本质上是一个数字记作1,False记作0 | ||
字符串(String) | 描述文本的一种数据类型 | 字符串(String)由任意数量的字符组成,程序中需要加上双引号。如:“黑马程序员” |
列表(List) | 有序的可变序列 | Python中使用最频繁的数据类型,可有序记录一堆数据 |
元组(Tuple) | 有序的不可变序列 | 可有序记录一堆不可变的Python数据集合 |
集合(Set) | 无序不重复集合 | 可有序记录一堆不重复的Python数据集合 |
字典(Dictionary) | 无序Key-Value集合 | 可无序记录一堆Key-Value型的Python数据集合 |
1.2 注释
单行注释:以 #开头,#右边的所有文字当作说明,而不是真正要执行的程序,起辅助说明作用。#号和注释内容一般建议以一个空格隔开。
多行注释:以 一对三个双引号 引起来("""注释内容""")来解释说明一段代码的作用使用方法
1.3 变量
变量:在程序运行时,能储存计算结果或能表示值的抽象概念。变量就像盒子,可以存放内容。
简单的说,变量就是在程序运行时,记录数据用的
变量定义的格式:变量名称 = 变量的值 (=表示赋值,表示将等号右边的值,赋予左侧的变量)
1.4 查看数据类型
type()语句:可以通过type()语句来的搭配数据的类型。
语法:type(被查看类型的数据)
1.在print语句中,直接输出类型信息 2.利用变量存储type()的结果(返回值)
变量是没有类型的,变量存储的数据是有类型的。
1.5 数据类型转换
常见的转换语句
语句(函数) | 说明 |
---|---|
int(x) | 将x转换为一个整数 |
float(x) | 将x转换为一个浮点数 |
str(x) | 将对象x转换为字符串 |
同前面的type()语句一样,这三个语句,都是带有结果的(返回值),我们可以用print直接输出或用变量存储结果值。
任何类型都可以通过str()转换为字符串,如果要将字符串转换为数字,那要确保字符串的内容都是数字。浮点数转整数会丢失精度。
1.6 标识符
标识符:是用户在编程的时候使用的一系列名字,用于给变量、类、方法等命名。
标识符命名规则:
1.标识符命名,只允许出现:英文、中文、数字、下划线这四类元素。其余内容都不被允许。
(1. 不推荐使用中文 2. 数字不可以开头)
2.大小写敏感。
3.不可使用关键字。关键字都有特定用途,不可以使用它们作为标识符。
标识符命名规范:
1.见名知意。明了、简洁。
2.下划线命名法。多个单词组合变量名,要使用下划线做分隔。如:firstnumber = 1 改为 first_number = 1更清楚简洁。
3.英文字母全小写。
1.7 运算符
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 | 两个对象相加a+b输出结果30 |
- | 减 | 得到负数或者是一个数减去另一个数a-b输出结果-10 |
* | 乘 | 两个数相乘或是返回一个被重复若干次的字符串a*b输出结果200 |
/ | 除 | b/a输出结果2 |
// | 取整除 | 返回商的整除部分9//2输出结果4,9.0//2.0输出结果4.0 |
% | 取余 | 返回除法的余数b%a输出结果0 |
** | 指数 | a**b为10的20次方,输出结果100000000000000000000 |
运算符 | 描述 | 实例 |
---|---|---|
= | 赋值运算符 | 把 = 右边的结果 赋给 左边的变量,如 num = 1 + 2 * 3,结果num的值为7 |
运算符 | 描述 | 实例 |
---|---|---|
+= | 加法赋值运算符 | 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. 常见的算术(数学)运算符有:
加(+) 减(-) 乘(*) 除(/) 整除(//) 取余(%) 求平方(**)
2. 赋值运算符有:
标准赋值:=
复合赋值:+=、-=、*=、/=、//=、%=、**=
1.8 字符串的三种定义方式
1.单引号定义法:name = ' 黑马程序员 '
2.双引号定义法:name = " 黑马程序员 "
3.三引号定义法:name = " " "黑马程序员" " "
三引号定义法,和多行注释的写法一样,同样支持换行操作
使用变量接收它,它就是字符串,不使用变量接收它,就可以作为多行注释使用。
字符串的引号嵌套
思考:如果我想定义的字符串本身,包含:单引号、双引号、自身,如何写?
- 单引号定义法,可以内含双引号
name = ' "黑马程序员" '
- 双引号定义法,可以内含单引号
name = " '黑马程序员' "
- 可以使用转移字符(\)来将引号解除效用,变成普通字符串
name = "\"黑马程序员\"" name = '\'黑马程序员\''
1.9 字符串拼接
1.字符串字面量之间的拼接
print("学IT来黑马"+"月薪过万")
2.字符串字面量和字符串变量
name = "黑马程序员"
address = "建材城东路9号院"
tel = 4006189090
print("我是:" + name + ",我的地址是:" + address + ",我的电话是:" + tel)
注意:使用"+"号连接字符串变量或字符串字面量即可,无法和非字符串类型进行拼接
1.10 字符串格式化
字符串格式化:支持拼字符串和和数字或者其他类型的拼接
1. 通过占位的形式,完成拼接
name = "黑马程序员"
message = "学IT就来 %s" % name
print(messgae)
%s中的 % 表示:我要占位
%s中的 s 表示:将变量变成字符串放入占位的地方
2. 通过占位的形式,完成数字和字符串的拼接
class_num = 57
avg_salary = 16781
message = "Python大数据学科,北京%s期,毕业平均工资:%s" % (calss_num, avg_salary)
3. 如下代码,完成字符串、整数、浮点数,三种不同类型变量
name = "传智播客"
setup_year = 2006
stock_price = 19.99
message = "%s,成立于:%d,我今天的股价是:%f" %(name, setup_year, stock_price)
格式符号 | 转化 |
%s | 将内容转换为字符串,放入占位位置 |
%d | 将内容转换为整形,放入占位位置 |
%f | 将内容转换为浮点型,放入占位位置 |
1.11 字符串格式化的精度控制
我们使用辅助符号"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
1.12 快速字符串格式化的方式
语法:f " 内容{}"
name = "传智播客"
setup_year = 2006
stock_price = 19.99
print(f"我是{name},我成立于:{setup_year},我今天的股价是:{stock_price}")
这种方式不用理会类型,不做精度控制,适合对精度没有要求的时候快速使用
1.13 对表达式进行字符串格式化
在无需使用变量进行数据存储的时候,可以直接格式化表达式,简化代码哦!
对表达式进行字符串格式化
print("1 * 1 的结果是:%d" % (1 * 1))
print(f"1 * 2 的结果是:{1 * 2}")
print("字符串在Python中的类型名是:%s" % type("字符串"))
输出结果为:
1.14 数据输入:input语句(函数)
使用input()语句可以从键盘获取输入
使用一个变量接收(存储)input语句获取的键盘输入数据即可
1. 使用input语句获取键盘的输入信息
print("请告诉我你是谁?")
name = input()
print("我知道了,你是:%s" % name)
输出结果:
在前面的代码中,输出“请告诉我你是谁?”的print语句其实是多余的
2. input()语句其实是可以在要求使用者输入内容前,输出提示内容,方式如下:
name = input("请告诉我你是谁?")
print("我知道了,你是:%s" % name)
输出结果:
3. 输入数字类型,并进行转换
num = input("请告诉我你的银行卡密码:")
#数据类型转换
num = int(num)
print("你的银行卡密码的类型是:", type(num))
输出结果:
要注意,无论键盘输入什么类型的数据,获取到的数据永远都是字符串类型