当前位置:首页 > 开发 > 编程语言 > Python > 正文

Python初探

发表于: 2014-11-15   作者:cyw   来源:转载   浏览次数:
摘要:    一直听闻Python大名,故最近决定小探Python。    Python是一种面向对象、直译式计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。Python语法简捷而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够很轻松的把用其他语言制作的各种模块(尤其是C/C++)轻松地联结在一起
   一直听闻Python大名,故最近决定小探Python。
   Python是一种面向对象、直译式计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。Python语法简捷而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够很轻松的把用其他语言制作的各种模块(尤其是C/C++)轻松地联结在一起。常见的一种应用情形是,使用python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,速度要求非常高,就可以用C++重写。
    个人感觉,Python还是有点类似于C语言的,大体上是相同的,只是侧重的方向不一样,而且添加了一点新的特性。那么,我们一起看看有什么新特性吧。

一、Python程序的基本架构
这一方面跟C语言一样的。
1、输入:变量赋值、输入语句
Python输入语句print函数
re = raw_input(【prompt】)
prompt:提示字符,字符串型的
re 为返回值
比如:raw_input("plz input a string:")

2、处理:算术运算、逻辑运算、算法处理
3、输出:打印输出、写入文件、写入数据库
Python输出语句print函数,基本使用方法
1、打印整型数据
2、打印浮点型数据
3、打印字符串数据,但字符串数据要带上单引号
4、同时打印出多个数据,可用逗号在数据之间进行连接,这样数据便会在同一行上输出。有逗号就是一行。可以同时打印多个变量。这是输出函数,不带括号也可以
5、格式化输出
print(format(val,fomat_modifier))
val:值
format_madifier:格式字,‘m.nf’
m:输出占位,数据右对齐,位数有余则留空格,否则左对齐打印输出
n:精度,小数点后面的数
对于浮点型的数据,在进行格式化输出的时候,并不是简单地对数据进行截取,二是会对其进行四舍五入处理,然后在进行输出。
比如:print(format(x,'2.2f'))

百分号格式化输出:
将‘%’替换‘f’,其他相同

二、Python变量。
这是与C语言,完全不同的新特性。
在Python之中,变量是可变化数据对象的程序标识符,指向的变化。一次定义,多次指向,每次指向不能改变其内容。而相比,C语言是一次指向,多次改变。
即是说,Python之中,变量就相当于静态的指针,其指向是指向内存之中一个代表该数据大小的数据单元,而每一次的赋值也只是更改变量所指向的数据单元而已,而这个数据单元之中对应的数据将是另外的一个固定的数据。变化的是指向,而不是其指向的数据单元的数据。不是内容的变,而是指向的变。
而C语言,每次的赋值都是对该内存空间、数据单元中的数据内容进行重新的赋值,更改的是内容,而不是指向,与Python正好相反。
比如,在Python中,y=x语句是指x、y指向相同的数据单元,指向的地址一样,是除了标识符不同外的同一个数据。
这是一种动态的数据类型结构,赋值什么即是什么,所以在Python之中,对于变量的定义,我们无需指定变量的类型。原因也是因为Python变量的这一特性。
即可总结为:
1、Python变量的‘变’是变指向,数据单元对应的id。
还可以通过id() i函数,得知该id在内存之中的地址。
而且不可通过变量名修改其指向数据单元的内容。
2、Python数据类型不需要指定type
3、对比一下c变量和Python变量不同

三、Python函数
Python工程师为我们提供了三种类型的函数,包括:
1、系统库提供内部函数
系统函数库包括:字符函数库(系统默认的)、数学函数库、网络函数库。
要使用系统函数库,就要导入包,导入格式为:import 包名
比如:import math import os
次方运算符:** 类似于math.pow()
os.getcwd() 返回当前的工作路径
listdir(path) -> list_of_strings 当前工作的路径,所有的文件和目录。将路径目下的文件盒目录名,返回回来
网络函数库import socket
baiduip = socket.gethostbyname('www.baidu.com')捕获某主机的ip地址

2、第三方提供的函数
可由网络上下载相关函数库
简单网页爬虫示例
import urllib
import webbrowser as web //用as取了个假名
url = "http://www.163.com"
content = urllib.urlopen(url).read()
open("jeapedu.html","w").write(content)
web.open_new_tab('jeapedu.html')
//打开一个新标签
//访问公网上的某网页
web.open_new_tab('http://jeapedu.html')

3、自定义函数
1)语法结构
这是Python的一个特性,与C语言有很大的区别,但问题不大,可以多编程来记住就成。
(1)使用冒号代替无花括号。而使用空格的缩进进行包含内容的区别。类似于C语言之中的花括号之间的语句。
(2)函数无返回值类型
(3)基本格式
def function_name([parameters]):
(TAB或者空格) statement1
(TAB或者空格) statement2
(TAB或者空格) statement3

无返回值
def funa([para1,para2.....]):
(TAB或者空格) statement1 语句
(TAB或者空格) statement2
(TAB或者空格) statement3

有返回值
def funa([para1,para2.....]):
(TAB或者空格) statement1 语句
(TAB或者空格) statement2
(TAB或者空格) statement3
....
return values1,values2,values3....valuesn

(4)函数的定义使用的是形参;函数的调用使用的是实参。
(5)Python 支持多值返回,对应的赋值,等号之前也要有n个变量,一一对应的赋值。
如:values1,values2,values3....valuesn = funa([para1,para2.....])
当然,也有
value = funa([para1,para2.....]) 会以圆括号的形式返回。
print value(values1,values2,values3....valuesn) 各个形参的值,叫做圆组,类似于数组

(6)预设值问题(可以不给已设好预定值的参数传参,可以重新修改其值)从左到右,有预定值的必须写在最右边
def funa([para1,para2....parai=default....paran=default]):

2)Python函数实参赋值顺序
(1)一般情况下是与形参是一一对应赋值
(2)可以指定形参一一赋值,如:fun(n2=3,n1=1),指定参数的名字。只是可以无视预定的顺序。
(3)有预定义值得参数不能先于无预定义值参数被赋值,当所有形参都被指定了,才可以。


新特性还有很多,但我还没有专研透彻,也在学习当中,暂时先写到这吧,算是对之前所学进行的一次总结,以后还会更新,亲大家多关注,谢谢。

Python初探

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
先介绍下最常见的元字符metacharacter: literal 匹配字符串的值 foo re1|re2 匹配正则式re1或re2 f
继续与大家分享我学习所得,关于语句的。 在Python中,语句与C语言类的编程语言是无大的区别的。 在
Matplotlib 是Python的2D&3D绘图库,产生各种已经拷贝格式和交互幻剑中跨平台形式的印刷质量图标。M
在Vim初探(四)中介绍了Vim的插件技术,本节将利用这些技术打造一个Python IDE。 1.文法高亮   
最近无聊,某天无意在vs2013上发现了Python...... Python介绍:可以自己搜索一下. 接下来,准备工具
Python 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开
Python 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开
转自:Cesar Otero 简介: Python 3 是 Guido van Rossum 功能强大的通用编程语言的最新版本。它虽
众所周知,socket是编写网络通信应用的基本技术,网络数据交换大多直接或间接通过socket进行。对于
众所周知,socket是编写网络通信应用的基本技术,网络数据交换大多直接或间接通过socket进行。对于
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号