第一章 Python基础知识概览
来源:互联网 发布:黄梅戏软件 编辑:程序博客网 时间:2024/05/20 11:35
1.1 Python基础知识
1.1.1 Python 对象类型
Python中一切都是对象,Python内置对象有:
布尔型:True、False;
空型:None;
数字:12、3+4j(复数,j表示);
字符串:'sfc'、" I'm Ethan ";
列表: ['a', 1 , ['cd', 235]];
元组:(2, -5, 8);
字典:{1: 'dd', 'key2': 253, '123': value3};
集合:{'a', 'b', 'c'}、set('abc');
文件:f = open('data.txt', 'r');
编程单元类型:函数(def)、类(class);
1.1.2 Python变量
Python中允许多个变量指向同一个值
例如:x =3 y=x 则 id(x) 和 id(y) 指向同一个内存地址,但注意当其中一个变量修改内容后,则其内存地址会变化,指向的是新变量值得内存地址,而不会影响另一个变量的内容和内存地址
不能使用内置关键字作为变量名,导入keyword模块,使用print(keyword.kwlist)可打印出所有的Python关键字,如
import keywordprint(keyword.kwlist)
通过print(dir(__builtins__))可查看所有内置模块、类型和函数,如
print(dir(__builtins__))
1.1.3 数字
主要谈谈Python中的复数表示,
例:a = 3+4j,注意用j/J表示虚部
a.real ,查看实部
a.imag,查看虚部
a.conjugate(),返回共轭复数
1.1.4 字符串
字符串连接(或合并),例如:a = 'abc' + '123'
把其他类型对象格式化成字符串,注意‘%’
##### 实例1a = 3.6674print('%7.3f' %a) #输出:' 3.667'##### 实例2print("%d:%c" %(65,65)) #输出:65:A
字符串界定符前面加r或R,表示原始字符串,即特殊字符不会被转义,但最后一个字符不能是\字符;这种主要用于表示正则表达式、文件路径、url;
1.1.5 运算符和表达式
x/y 除法(真除法),x//y 求整商;
x**y 幂运算,
x in y ,x not in y 成员测试运算符
x is y,x is not y 对象实体同一性测试(地址)
@ 矩阵乘法
*运算符用于列表、字符串、元组表示对内容进行重复并返回重复后的新对象,如
### 实例1print('a'*5) #输出:aaaaaprint([1, 2, 3]*3) #输出:[1, 2, 3, 1, 2, 3, 1, 2, 3]print((1, 2, 3)*3) #输出:(1, 2, 3, 1, 2, 3, 1, 2, 3)### 实例2a = [1, 2, 3]print(id(a), '---', id(a*3))#输出:1574886193352 --- 1574886192840 ,说明重复后的列表和原列表存在于不同内存地址,互不影响
+运算符用于列表、元组、字符串
print([1, 'a', ['12', 32]] + ['adf', 'dsf']) #输出:[1, 'a', ['12', 32], 'adf', 'dsf']print((1, 'a', ('12', 32)) + ('adf', 'dsf')) #输出:(1, 'a', ('12', 32), 'adf', 'dsf')print('df' + '12') #输出:df12
‘,’逗号不是运算符,只是分隔符
print('a' in 'b', 'a') #输出:False aprint('a' in ('b', 'a')) #输出:True
1.1.6 模块导入和使用
import 模块名 [ as 别名],以“模块名.对象名”的方式访问,如
import mathprint(math.sin(0.5))### 带别名import math as math_modprint(math_mod.sin(0.5))
form 模块名 import 对象名 [ as 别名],以“对象名”的方式访问,如
from math import sinprint(sin(0.5))### 带别名from math import sin as funcprint(func(0.5))### 导入模块所有对象from math import * #不推荐,一旦多个模块中有同名的对象,这种方式会导致混乱
导入模块时,Python首先在当前目录中查找需要导入的模块文件,如找不到,则从sys模块的path变量指定的目录中查找,如仍未找到,则提示模块不存在
import sysprint(type(sys.path)) #输出:<class 'list'> 说明path变量是存放路径的列表对象sys.path.append('d:\\modelPath') #可以通过append()方法向path变量中添加自定义文件夹以扩展搜索路径print(sys.path)
1.1.7 Python代码编写规范
注释
单行用 #
多行用 '''...''' 或者 """...""",注意多行注释中不能与任何代码同行,即该多行应全为注释
1.1.8 Python文件名
py:Python源文件,由Python解释器负责解释执行;
pyc(重点):Python字节码文件,对于Python模块,第一次被导入时将被编译成字节码形式,并在以后再次导入时优先使用pyc文件,以提高模块的加载和运行速度,对于非模块文件,执行执行时并不生成.pyc文件,但可以使用py_compile模块的compile()函数进行编译以提高加载和运行速度;
1.1.9 Python脚本的__name__属性
每个Python脚本在运行时都有一个__name__属性,如果脚本作为模块被导入,则其__name__属性的值被自动设置为模块名;如果脚本独立运行,则其__name__属性值别自动设置为“__main__”,如
### 脚本独立运行,在test.py脚本中,只有print(__name__)print(__name__) #输出:__main__(自动设置为“__main__”)### test.py作为模块被其他文件导入#test.py中: print(__name__)#test1.py中: import test #输出:test(模块名)
利用__name__属性可用来控制Python程序的运行方式,具体来说,如果编写一个包含大量函数的模块,而不希望该模块用于直接运行,只允许作为模块导入运行,则可做如下处理,
### test.py代码如下,if __name__ == '__main__': print('please use me as a module!')else: print('success!')#运行test.py,则输出的是第一条信息,### test1.py代码如下,import test#运行test1.py,则输出的是第二条信息
1.1.10 编写自己的包
包可以看作是包含大量Python程序模块的文件夹。在包的每个目录中都必须包含一个__init__.py的文件;__init__.py文件的主要用途是设置__all__变量以及执行初始化包所需的代码,其中__all__变量中定义的对象可以在使用“from ... import * ”时全部被正确导入
- 第一章 Python基础知识概览
- 《Python 第一章》基础知识
- Python 第一章 基础知识
- 【python 基础教程】第一章 基础知识
- Python第一章基础知识
- 《python基础教程》第一章 基础知识
- Python第一章-基础知识
- Python 第一章 基础知识
- 第一章 概览
- 第一章 概览
- Python学习笔记-第一章 基础知识
- Python基础(1)-基础知识概览
- Python 第一章 基础知识(1) 安装Python
- Python 第一章 基础知识(6) 函数
- Python 第一章 基础知识(7) 模块
- Python 第一章 基础知识(9) 字符串
- python基础教程学习笔记 第一章 基础知识
- Python基础教程学习笔记第一章:基础知识
- Android消息推送:第三方消息推送平台详细解析
- Android性能:经典ListView适配器convertView缓存及复用机制
- CRF++相关
- 如何确保自己的Mac数据安全呢?这里有四个“小秘诀”
- 基础的BP神经网络
- 第一章 Python基础知识概览
- 二维指针数组冒泡排序
- 数据结构——前缀树 后缀树 后缀数组
- gedit 打开文件报错解决方案
- STM32串口DMA方式接收数据,类似环形FIFO
- Android Studio--Read garbage collection messages
- JVM原子性、可见性、有序性
- vmware中Mac OS X10.9熟悉----jdk环境配置--运行生效-检查配置结果
- 员工人事档案所需资料