python学习笔记
一、命令行窗口与python交互式命令行窗口区别
在命令行窗口中输入python,可进入python交互式命令行窗口,输入exit()退回命令行窗口
进入python交互模式,可直接运行代码,并且输入一行代码,执行一行代码
在命令行窗口直接运行.py文件,需要切换到.py文件所在路径,否则出现文件不存在的情况
思考:
python的交互模式和直接运行.py
文件有什么区别呢?
- 直接输入
python
进入交互模式,相当于启动了Python解释器,每输入一行就执行一行。 - 直接运行
.py
文件相当于启动了Python解释器,然后一次性把.py
文件的源代码给执行,没有机会以交互的方式输入源代码的。
二、输入与输出
进入python交互式模式
-
输出
使用print(),打印的结果可为字符串(需要用使用 ‘’)、计算结果,也可以同时打印多个结果(使用 ‘,’ 隔开,现实的结果为空格)
-
输入
计算机程序都是为了执行一个特定的任务,有了输入,用户才能告诉计算机程序所需的信息,有了输出,程序运行后才能告诉用户任务的结果
三、python小规矩
#:用于注释
Tab:默认4个空格缩进
冒号(:):缩进的语句视为代码块
对大小写敏感
\n:换行
\t:制表符
\:转义
r ‘ ’:不转义
'''...''':多换行
四、数据类型和变量
(1)数据类型
- 整数
二进制
十六进制表示整数,十六进制用0x
前缀和0-9,a-f表示
十六进制用0x
前缀和0-9,a-f表示
- 浮点型
小数点
区别: 整数和浮点数在计算机内部存储的方式不同,整数运算永远是精确的(包括除法),而浮点数运算则可能会有四舍五入的误差
- 字符串
字符串是以单引号(‘ ’)或双引号(“ ”)括起来的任意文本
转义字符\
来标识,可用于区分既有 ‘’ ,也有 “” 的情况(‘ \' ’)
- 布尔值
Ture or False
可以结合 and 、or使用
- 空值
None
是一个特殊的空值,None不为0
(2)变量
变量名必须是大小写英文、数字和_
的组合,且不能用数字开头
变量可以为任何数据类型
在Python中,等号(=)
是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量)
五、字符串和编码
(1)编码
解决的是中文的问题
计算机内存中,统一使用Unicode编码,保存或传输时转变为utf-8
浏览网页的时候,服务器会把动态生成的Unicode内容转换为UTF-8再传输到浏览器:
(2)字符串
python3版本,使用的是unicode编码,即python字符串支持多语言编码
ord()
函数获取字符的编码
chr()
函数把编码转换为对应的字符
-----网络上传输,或者保存到磁盘上,就需要把str
变为以字节为单位的bytes
(1)
Python的字符串类型是str
,在内存中以Unicode表示,一个字符对应若干个字节,bytes
类型的数据用带b
前缀的单引号或双引号表示:x=b'ABC'
(2)以Unicode表示的str
通过encode()
方法可以编码为指定的bytes
纯英文的str
可以用ASCII
编码为bytes
含有中文的str
可以用UTF-8
编码为bytes
----bytes
变为str
,就需要用decode()
方法
bytes
中包含无法解码的字节,decode()
方法会报错,如果bytes
中只有一小部分无效的字节,可以传入errors='ignore'
忽略错误的字节
(3)len()函数,用于计算str字符数或bytes字节数
1个中文字符经过UTF-8编码后通常会占用3个字节,而1个英文字符只占用1个字节
由于Python源代码是一个文本文件,所以源在读取的代码中包含中文时,在保存源代码时,务必指定保存为UTF-8编码。当Python解释器读取源代码时,为了让它按UTF-8编码读取,通常在文件开头写上:
!/usr/bin/env python3
# -*- coding: utf-8 -*-
确保文本编辑器正在使用UTF-8 without BOM编码
(3)格式化
格式化字符串的方式,xxx的内容可以根据变量变化
采用的格式化方式,用%
实现
%d---整数
%s---字符串
%f---浮点数
%x---十六进制数