Python学习笔记(一)
入门必备知识
1 标识符
标识符是编程时使用的名字,用于给变量、函数、语句块等命名,Python 中标识符由字母、数字、下划线组成,不能以数字开头,区分大小写。
以下划线开头的标识符有特殊含义,单下划线开头的标识符,如:_xxx ,表示不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 导入;双下划线开头的标识符,如:__xx ,表示私有成员;双下划线开头和结尾的标识符,如:__xx__,表示 Python 中内置标识,如:__init__() 表示类的构造函数。
2 关键字
上表是 Python 中的关键字(保留字),我们在自定义标识符时不能使用关键字。
3 引号
Python 中的字符串可以使用单引号('')、双引号("")和三引号('''
或 """
)来表示。引号的开始与结束必须类型相同,三引号可以由多行组成。
id = '001'
name = "张三"
skill = '''
唱歌
跳舞'''
skill = """
唱歌
跳舞"""
4 编码
Python2 中需在开头加入# -*- coding: UTF-8 -*-
以进行指定编码,从而能正确地读出及读取汉字。
Python3 中默认编码为 UTF-8
,因此在使用 Python3 时,我们通常不需指定编码。
5 输入及输出
Python 输出使用 print(),内容加在括号中即可。
print('Hello Python')
Python 提供了一个 input(),可以让用户输入字符串,并存放到一个变量里。
name = input()
print('Hi', name)
6 缩进
Python 不使用 { } 来控制类、函数、逻辑判断等,而是使用缩进,缩进的空格可变。
if True:
print(True)
else:
print(False)
7 多行
Python 中一般以新行作为语句的结束标识,可以使用 \
将一行语句分为多行显示。
a = 128
b = 1024
c = 512
d = a + \
b - \
c
如果包含在 []
、{}
、()
括号中,则不需要使用 \
。
arr = {
a,
b,
c
}
8 注释
Python 中单行注释使用 #
,多行注释使用三个单引号('''
)或三个双引号("""
)。
# 我是单行注释
'''
我是多行注释
我是多行注释
'''
"""
我是多行注释
我是多行注释
"""
9 数据类型
整数:可以为任意大小的数,包含负数
浮点数:小数
字符串:以单引号
'
、双引号"
、三引号'''
或"""
括起来的文本布尔:只有
True
、False
两种值空值:用
None
表示
10 常用的值类型
我们可以使用 type(被查看类型的数据) 验证数据的类型
print(type("哈哈哈"))
#后台打印输出
<class 'str'>
11 数据类型的转换
注意:1. 任何类型,都可以通过str(),转换成字符串
2. 字符串内必须真的是数字,才可以将字符串转换为数字
12 字符串拼接
通过 ‘+’ 进行字面量和变量或变量和变量之间的拼接
name = "张三"
print("我的名字是:" + name + ",我爱编程")
注意:无法和非字符串类型进行拼接
13 字符串格式化
name = "传智播客"
set_up_year = 2006
stock_price = 19.99
message = "我是:%s,我成立于:%d,我今天的股价是:%.2f" % (name, set_up_year, stock_price)
print(message)
注:"%占位符" % 变量
变量若有多个,要用括号括起来,并按照占位的顺序填入
14 数字精度控制
我们可以使用辅助符号"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
15 字符串格式化 - 快速写法
通过语法:f"内容{变量}"的格式来快速格式化.
name = "传智播客"
set_up_year = 2006
stock_price = 19.99
print(f"我是{name},我成立于:{set_up_year},我今天的股票价格是:{stock_price}")
注意:
这种写法不做精度控制
也不理会类型
适用于快速格式化字符串
Python 判断语句
布尔类型和比较运算符
布尔类型
值为:True 和 False
布尔类型不仅可以自行定义,同时也可以通过计算得来。
也就是使用比较运算符进行比较运算得到布尔类型的结果。
如下代码:
比较运算符
if 语句的基本格式
判断语句的结果,必须是布尔类型True或False
True会执行if内的代码语句
False则不会执行
语法规范
if 语句的基本格式:
示例:
注意:
if 语句判断条件最后是有 :(英文冒号) 的
判断条件的结果一定要是布尔类型
归属于if判断的代码语句块,需在前方填充4个空格缩进
Python通过缩进判断代码块的归属关系。
if else语句
语法格式
示例:
注意:
1. else后,不需要判断条件
2. 和if的代码块一样,else的代码块同样需要4个空格作为缩进
if elif else 语句
语法格式
示例:
注意:
判断是互斥且有顺序的。
满足1(如图编号)将不会理会2和3
满足2,将不会理会3
1、2、3均不满足,进入else
else也可以省略不写,效果等同3个独立的if判断
空格缩进同样不可省略
可以将input输入语句直接写入判断条件中。
节省代码量
判断语句的嵌套
基本语法格式如下:
如上图,第二个if,属于第一个if内,只有第一个if满足条件,才会执行第二个if
嵌套的关键点,在于:空格缩进
通过空格缩进,来决定语句之间的:层次关系
简单嵌套示例:
如图:
判断有2层
当外层if满足条件(图中编号1)时,才会执行内层if判断(图中编号2)
当外层if(编号1)不满足,直接执行外层else
再来一个示例:
如图:
if elif else 可以自由组合
满足缩进的要求即可
Python循环语句
while循环语句
语法格式如下:
只要条件满足
会无限循环执行
注意:
while的条件需得到布尔类型,True表示继续循环,False表示结束循环
需要设置循环终止的条件,如i += 1配合 i < 100,就能确保100次后停止,否则将无限循环
空格缩进和if判断一样,都需要设置
while循环的嵌套
while循环的嵌套-注意点
同判断语句的嵌套一样,循环语句的嵌套,要注意空格缩进
基于空格缩进来决定层次关系
注意条件的设置,避免出现无限循环(除非真的需要无限循环)
补充知识-实现print输出不换行:
若我们需要使用print语句,输出不换行的功能,实现方式如下:
如图,在print语句中,加上 end=’’ 即可输出不换行
补充知识-制表符\t
在字符串中,有一个特殊符号:\t,效果等同于在键盘上按下:tab键。
它可以让我们的多行字符串进行对齐。
比如:
for循环的基础语法
语法格式:
for 临时变量 in 待处理数据集:
循环满足条件时执行的代码
从待处理数据集中:逐个取出数据
赋值给临时变量
for循环注意点