Python基础之模块、数据类型及数据类型转换
一、模块
1、标准库
不需要安装,直接调入使用的模块。
import sys模块:
import sys
print(sys.path) #打印环境变量绝对路径
print(sys.argv) #打印当前脚本相对路径
打印脚本第二个参数:print(sys.argv [2])
import os 模块:
import os
# cmd_res=os.system("dir") #只执行命令,不保存结果
cmd_res=os.popen("dir").read() #执行命令,且保存结果
print("--->",cmd_res)
os.mkdir("new_dir") #在当前目录下创建一个新目录
2、第三方模块
第三方模块是需要安装的模块,当模块没有在当前路径下时,程序运行出错。解决方法:(1)修改环境变量;(2)将模块拷贝到当前目录。
第三方模块的使用:新建一个登陆程序login.py,在同一目录下创建另一个程序reference.py,写入语句:import login,运行程序即可调用login模块。
二、pyc是什么?
一些解释性语言可以通过解释器的优化来对程序作出翻译时对整个程序作出优化,从而在效率上超过编译语言,如Java。当在命令行中输入python hello.py时,其实是激活python解释器,告诉它,你要开始工作了,但在“解释”之前执行的第一项工作和Java一样,是编译:
Java执行语句:JavaC hello.java
运行结果:java hello
(1)当Python在执行命令时,先将编译的结果保存在位于内存中的PyCodeObject中,当程序运行结束后,Python解释器则将PyCodeObject写回到pyc文件中。
(2)Python程序第二次执行时,首先程序会在硬盘中寻找pyc文件,如果找到,则直接载入,否则重复以上过程。
因此,pyc文件其实是PyCodeObject的一种持久化保存方式。
(3)但如果Python程序被改动时问题来了》》》其实在每次运行程序时,Python是先检测有没有此文件,如果有,再检测pyc与源文件的更新时间哪个更新,若源代码文件时间更新,则重新执行(1)。
三、数据类型
1、数字:整型、浮点型
int(整型)、long(长整型)、float(浮点型)、complex(复数)
科学计数法:78.6E4=78.6*10**4=786000
2、布尔型(True、False)
三元运算:result= 值1 if 条件 else 值2
即如果条件为真:result= 值1,如果条件为假:result= 值2 。
例:a,b,c=2,5,3
d=a if a>b else c
四、数据类型转换
在Python3 中二进制统一用bytes类型表示,不会以任意隐式的方式混用str和bytes。因此,不能拼接字符窜和字节包,两者不能互相操作、互相搜索。

str与bytes之间的转换:
msg="螳螂捕蝉"
print(msg)
print(msg.encode(encoding="utf-8")) #字符串编码为二进制
print(msg.encode(encoding="utf-8").decode(encoding="utf-8"))#二进制转换为字符串
运行结果:
螳螂捕蝉
b'\xe8\x9e\xb3\xe8\x9e\x82\xe6\x8d\x95\xe8\x9d\x89'
螳螂捕蝉
五、字符串操作
字符编码与转码:在整个过程中unicode作为一个中间件执行编码与解码命令。

1、GBK与UTF-8之间的转换:
# -*- coding:utf-8 -*-
s="你好"
s_gbk=s.encode("gbk")#编码
print(s)
print(s_gbk)
print("-----gbk转换为utf-8-----")
gbk_to_utf8=s_gbk.decode("gbk").encode("utf-8")
print("utf8",gbk_to_utf8)
运行结果:
你好
b'\xc4\xe3\xba\xc3'
-----gbk转换为utf-8-----
utf8 b'\xe4\xbd\xa0\xe5\xa5\xbd'
2、示例:
# -*- coding:utf-8 -*-
s="好好学习" #注意:此时s仍是系统默认的unicode形式,并不受文头 coding:utf-8 的影响
s_to_gb2312=s.encode("gb2312") #所以可以直接编码为gb2312
gb2312_to_utf8=s_to_gb2312.decode("gb2312").encode("utf-8") #gb2312转换为UTF-8
gb2312_to_str=s_to_gb2312.decode("gb2312").encode("utf-8").decode("utf-8") #最终将utf-8转换为字符串输出 print(s)
print("gb2312",s_to_gb2312)
print("utf-8",gb2312_to_utf8)
print("str",gb2312_to_str)
运行结果:
好好学习
gb2312 b'\xba\xc3\xba\xc3\xd1\xa7\xcf\xb0'
utf-8 b'\xe5\xa5\xbd\xe5\xa5\xbd\xe5\xad\xa6\xe4\xb9\xa0'
str 好好学习
六、字符串操作
print(''.join(['1','2','3','4'])) #字符串连接
s=str.maketrans("abcdefjk","12345678") #两组字符串一一对应
print("yank".translate(s))  #用数字代替表示字母
print('garden'.replace('g','G',1))  #替换
print('gardedn'.rfind('d'))  #查找最右边的“d”的索引值
print('2+4+7+8'.split("+"))  #将“+”替换为“,”
print('2+3 \n +5+4'.splitlines())  #将换行符用逗号填充
运行结果:
1234
y1n8
Garden
5
['2', '4', '7', '8']
['2+3 ', ' +5+4']
Python基础之模块、数据类型及数据类型转换的更多相关文章
- (6)java基础知识-基本数据类型、数据类型转换
		一.基本数据类型 基本的数据类型一共有四类八种 1.整型 byte: 1字节 取值范围 -128~127 short: 2字节 取值范围 -32768~32767 int: 4字节 取 ... 
- python基础2(数据类型、数据运算、for循环、while循环、列表)
		1.数据类型 python使用对象模型来存储数据,每一个数据类型都有一个内置的类,每新建一个数据,实际就是一个对象,即所有数据都是对象. 对象的3个特性: 身份:即内存地址,可以用id()来获取 类型 ... 
- Python 基础篇:数据类型、数据运算、表达
		1. 数据类型 1.1 数字 int(整型) 在32位机器上,整数的位数为32位,取值范围为-231-231-1,即-2147483648-2147483647 在64位系统上,整数的位数为64位,取 ... 
- python基础——第三方模块
		python基础——第三方模块 在Python中,安装第三方模块,是通过包管理工具pip完成的. 如果你正在使用Mac或Linux,安装pip本身这个步骤就可以跳过了. 如果你正在使用Window ... 
- python基础——使用模块
		python基础——使用模块 Python本身就内置了很多非常有用的模块,只要安装完毕,这些模块就可以立刻使用. 我们以内建的sys模块为例,编写一个hello的模块: #!/usr/bin/env ... 
- 二十五. Python基础(25)--模块和包
		二十五. Python基础(25)--模块和包 ● 知识框架 ● 模块的属性__name__ # my_module.py def fun1(): print("Hello& ... 
- python 基础之 模块
		Python 基础之模块 一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 就是一个python文件中定义好了类和方法,实现了一些功能,可以被别的python文 ... 
- python 全栈开发,Day50(Javascript简介,第一个JavaScript代码,数据类型,运算符,数据类型转换,流程控制,百度换肤,显示隐藏)
		一.Javascript简介 Web前端有三层: HTML:从语义的角度,描述页面结构 CSS:从审美的角度,描述样式(美化页面) JavaScript:从交互的角度,描述行为(提升用户体验) Jav ... 
- 【Python之路】第六篇--Python基础之模块
		模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才 ... 
随机推荐
- Java线程间通信
			1.由来 当需要实现有顺序的执行多个线程的时候,就需要进行线程通信来保证 2.实现线程通信的方法 wait()方法: wait()方法:挂起当前线程,并释放共享资源的锁 notify()方法: not ... 
- 低版本eclipse导入高版本eclipse创建项目报错问题
			例如用高版本eclipse创建的项目,会默认使用的是jdk1.8版本, 低版本eclipse创建项目,会默认使用的是jdk1.7版本. 此时导入高版本eclipse项目时会报错(文件夹中会出现红色!) ... 
- weex入门
			近期要做一个安卓端的原生应用程序.情况是这样的:需求方原先已经实现了网页,是一个工具类应用,大致作用是连接到他们公司生产的硬件,然后通手机与智能硬件通信来对硬件进行一系列控制.不过呢,这个网页先前是由 ... 
- orcle  :Could not initialize "D:\app\Administrator\product\11.2.0\dbhome_1\bin\oci.dll" Make sure you have the 32 bits Oracle Client installed.
			服务器重启后,数据库登录信息为空 错误信息: ---------------------------(Not logged on) - PL/SQL Developer---------------- ... 
- javascriptDOM节点
			DOM把层次中的每一个对象都称之为节点(NODE),以HTML超文本标记语言为例:整个文档的一个根就是<html>,在DOM中可以使用 document.documentElement来访 ... 
- Bash内置命令exec和重定向
			Bash内置命令exec可以替换当前程序而不需要启动一个新的进程,可以改变标准输入和输出而不需要启动一个新的子进程.如果文件用exec打开,read命令就会把文件指针每次指向下一行直到文件的末尾,如果 ... 
- css3动画小案例
			今天与大家来分享一下我做的css3动画案例. 在展示我的案例之前先给大家说说实现这个案例所需要的一些属性. transform 属性允许我们对元素进行旋转.缩放.移动或倾斜. 通过 CSS3 2D转换 ... 
- 开发抓包工具 Mac charles 3.11.5 破解版 安装包
			摘要 在发开过程中,追踪请求和监控请求与返回数据是我们经常会需要的一个需求,在Mac端,Charles是一款非常易用的抓包工具. 一.简介 Charles是Mac端的一款截取与分析网络请求的工具,在网 ... 
- (1)认识javascript
			认识javascript 在本篇学习资料中,讲解javascript的基本概念.编写工具.在html中的使用: JavaScript 是脚本语言,这门语言可用于 HTML 和 web,更可广泛用于服务 ... 
- SOD开源框架MSF(消息服务框架)介绍
			前言:之前想做消息的广播,拖着就忘记了,现在拿了医生的框架来学习,就按实现了之前想实现的功能. 传送门http://www.cnblogs.com/bluedoctor/,框架的获取,按传送门的链接就 ... 
