python入门学习
来源:互联网 发布:处理数据 英文 编辑:程序博客网 时间:2024/06/16 18:45
python是一种解释型、面向对象、动态数据类型的高级程序设计语言。
python是一种解释型语言:开发过程中没有了编译这个环节
python是交互式语言:在python提示符直接互动执行写你的程序
python智齿面向对象的风格或代码封装在对象的编程技术
python是初学者的语言:python对初级程序员而言,是一种伟大的语言,它智齿广发的应用程序开发,从简单的文字处理到www
浏览器再到游戏
以单下划线_foo的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能from xxx import *而导入
以双下划线开头的__foo代表类的私有成员,以双下划线开头和结尾的__foo__代表python里特殊方法专用的标识,
__init__()代表类的构造方法
python的代码块不适用{}来控制类,函数以及其他逻辑判断
python最具特色的就是用缩进来写代码
变量存储在内存中的值,意味着在创建变量时会在内存中开辟一个空间
基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存只能怪
因此,变量可以指定不同的数据类型,这些变量可以存储整书,小数或者字符
python有五个标准的数据类型:
Number(整数)
String(字符串)
List(列表)
Tuple(元组)
Dictionary(字典)
数字数据类型用于存储数值,这是不可改变的数据类型,改变数字类型会分配一个新的对象
字符串或穿是由数字,字母,下划线组成的一串字符
List是python中使用最频繁的数据类型,它智齿幅,数字,字符串深知可以包含列表
元组是另一个数据类型,类似于List(列表)。
元组用"()"标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。
字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象集合,字典是无序的对象集合。
两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典用"{ }"标识。字典由索引(key)和它对应的值value组成。
有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。
以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。
int(x [,base])
将x转换为一个整数
long(x [,base] )
将x转换为一个长整数
float(x)
将x转换到一个浮点数
complex(real [,imag])
创建一个复数
str(x)
将对象 x 转换为字符串
repr(x)
将对象 x 转换为表达式字符串
eval(str)
用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s)
将序列 s 转换为一个元组
list(s)
将序列 s 转换为一个列表
set(s)
转换为可变集合
dict(d)
创建一个字典。d 必须是一个序列 (key,value)元组。
frozenset(s)
转换为不可变集合
chr(x)
将一个整数转换为一个字符
unichr(x)
将一个整数转换为Unicode字符
ord(x)
将一个字符转换为它的整数值
hex(x)
将一个整数转换为一个十六进制字符串
oct(x)
将一个整数转换为一个八进制字符串
python函数函数时组织好的,课重复使用的,用来实现单一或相关联功能的代码段
函数代码块以def关键词开头,后接函数标识符名称和圆括号
任何传入参数和自变量必须放在圆括号中间,圆括号之间可以定义参数
函数的第一行语句可以选择性低使用文档字符串——用于存放函数说明
函数内容一冒号其实,并且缩进
调用函数时可是要ongoing的正式参数类型:
必备参数:以正确的顺序传入函数,调用时的数量必须和申明时一样
关键字参数:使用关键字允许函数调用时参数的顺序和声明时不一致
默认参数:缺省参数的值如果没有传入,则被认为是默认值
不定长参数:加了*号的变量名会存放所有未命名的变量参数
匿名函数
python 使用 lambda 来创建匿名函数。
lambda只是一个表达式,函数体比def简单很多。
lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
lambda函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数。
虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率
python模块
python模块是一个python文件,以.py结尾,包含了python对象定义和Python语句
模块让你能够有逻辑组织python代码段
让相关的代码分配到一个模块里能够让代码更好用,更容易懂
模块能定义函数,类和变量,模块里能包含可执行的代码
import语句:模块定义好后,我们可以使用import语句来引入模块:模块名.函数名
from……import:从模块中导入一个人指定的部分到当前命名空间中
包是分层次的文件目录结构,它定义了一个由模块及字包,和子包下的自爆等组成的python的应用环境
简单来说,包是一个文件夹,但改文件下必须存在__init__.py文件,该文件的内容可以为空
python提供了两个内置函数从标准输入读入一行文本,默认的标准输入是键盘
raw_input
input
类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。
类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。
数据成员:类变量或者实例变量用于处理类及其实例对象的相关的数据。
方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。
实例变量:定义在方法中的变量,只作用于当前实例的类。
继承:即一个派生类(derived class)继承基类(base class)的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待。例如,有这样一个设计:一个Dog类型的对象派生自Animal类,这是模拟"是一个(is-a)"关系(例图,Dog是一个Animal)。
实例化:创建一个类的实例,类的具体对象。
方法:类中定义的函数。
对象:通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法。
面向对象的编程带来的主要好处之一是代码的重用,实现这种重用的方法之一是通过继承机制。继承完全可以理解成类之间的类型和子类型关系。
需要注意的地方:继承语法 class 派生类名(基类名)://... 基类名写在括号里,基本类是在类定义的时候,在元组之中指明的。
在python中继承中的一些特点:
- 1:在继承中基类的构造(__init__()方法)不会被自动调用,它需要在其派生类的构造中亲自专门调用。
- 2:在调用基类的方法时,需要加上基类的类名前缀,且需要带上self参数变量。区别于在类中调用普通函数时并不需要带上self参数
- 3:Python总是首先查找对应类型的方法,如果它不能在派生类中找到对应的方法,它才开始到基类中逐个查找。(先在本类中查找调用的方法,找不到才去基类中找)。
如果在继承元组中列了一个以上的类,那么它就被称作"多重继承" 。
Python 多线程
多线程类似于同时执行多个不同程序,多线程运行有如下优点:
- 使用线程可以把占据长时间的程序中的任务放到后台去处理。
- 用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度
- 程序的运行速度可能加快
- 在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较有用了。在这种情况下我们可以释放一些珍贵的资源如内存占用等等。
线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。
每个线程都有他自己的一组CPU寄存器,称为线程的上下文,该上下文反映了线程上次运行该线程的CPU寄存器的状态。
指令指针和堆栈指针寄存器是线程上下文中两个最重要的寄存器,线程总是在进程得到上下文中运行的,这些地址都用于标志拥有线程的进程地址空间中的内存。
- 线程可以被抢占(中断)。
- 在其他线程正在运行时,线程可以暂时搁置(也称为睡眠) -- 这就是线程的退让。
- 001--Python入门学习
- python学习入门
- python入门学习之一
- python学习入门
- Python入门学习 :)
- Python 画图学习入门
- python入门学习
- python 学习快速入门
- python入门学习
- 【学习】Python语言入门
- Python入门学习(一)
- python学习入门
- python入门学习
- Python学习01---入门
- Python入门学习
- python入门学习笔记
- python入门学习
- python入门学习总结
- 单例设计模式
- Spring的声明式事务和编程式事务详解
- 本地代码上传github时,让你少走弯路
- 数据查询
- [FAQ15114]如何获取进程的native调用栈?
- python入门学习
- 给定可能包含重复的数字的集合,返回所有可能的唯一排列。
- URL规范 举例解释
- 利用摇一摇展示导航控制器中的控制器ClassName方便调试
- echarts行走轨迹
- assets.xcassets加入资源
- 关于百度地图开发LBS云检索的一些坑...
- 欢迎使用CSDN-markdown编辑器
- Limit与skip