注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

我的个人博客

欢迎访问我的网站www.shaccp.cn,学习软件编程

 
 
 

日志

 
 

Python初探  

2014-11-15 12:54:16|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
  一直听闻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)有预定义值得参数不能先于无预定义值参数被赋值,当所有形参都被指定了,才可以。 

新特性还有很多,但我还没有专研透彻,也在学习当中,暂时先写到这吧,算是对之前所学进行的一次总结,以后还会更新,亲大家多关注,谢谢。 
本文由上海java培训机构推荐阅读,更多精彩请浏览上海IT培训官网。
  评论这张
 
阅读(5)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017