Python 专题一 函数的基础知识
|
最近才开始学习Python语言,但就发现了它很多优势(如语言简洁、网络爬虫方面深有体会).我主要是通过《Python基础教程》和"51CTO学院 智普教育的python视频"学习,在看视频中老师讲述函数知识的时候觉得非常不错,所以就写了第一篇Python学习的文章分享给大家.主要内容: 1.Python安装与基本输入输出,print()函数和raw_input()函数简单用法. 2.我根据视频中学到的知识,讲解函数的基本知识: (1).系统提供内部函数:字符串函数库、数学函数库、网络编程函数库、OS函数库 (2).第三方提供函数库:讲解如何安装httplib2第三方函数库,再做了个简单的网页爬虫例子 (3).用户自定义函数:讲解无返回类型、有形参、预设值参数等自定义函数 3.同时网络编程中与C#以前学过的进行了简单对比,发现python确实有很多优点,而且很方便强大. PS:文章中引用了很多视频中的知识、书籍知识和自己的知识,感谢那些作者和老师,希望文章对大家有所帮助,才开始学习python知识,如果文章中有错误或不足之处,还请海涵,也希望大家提出意见与君共勉.勿喷~ 一. Python安装及输入输出函数 python解释器在Linux中可以内置使用安装,windows中需要去www.python.org官网downloads页面下载(如python-2.7.8.amd64.msi),安装Python集成开发环境(Python Integrated Development Environment,IDLE)即可.运行程序输入">>>print 'hello world'"则python解释器会打印输出"hello world"字符串. 如下: 然后讲述Python程序的基本框架是"输入-处理-输出",而输入输出函数如下: 1.print()函数 函数用于输出或打印整型、浮点型、字符串数据至屏幕,如print(3)、print(12.5)、print('H').它输出变量格式"print(x)或print x",而且可以输出多个变量"print x,y,z".并且支持格式化输出数据,调用format()函数,其格式为: print(format(val,format_modifier)) 其中val表示值,format_modifier表示格式字.
#简单输出
>>> print(12.5)
12.5
>>> print("eastmount")
eastmount
#输出"123.46",6.2表示输出6位,小数点后精度2位,输出最后一位6是四舍五入的结果
>>> print(format(123.45678,'6.2f'))
123.46
#输出"口口口123",采用右对齐补空格方式输出总共6位
>>> print(format(123.45678,'6.0f'))
123
#输出"123.456780000"小数点后面9位,超出范围会自动补0
>>> print(format(123.45678,'6.9f'))
123.456780000
#输出"34.56%"表示打印百分率
>>> print(format(0.3456,'.2%'))
34.56%
2.raw_input()函数 内建函数从sys.stdin接受输入,读取输入语句并返回string字符串.输入以换行符结束,通过help(raw_input)可以查找帮助,常见格式为: s = raw_input([prompt]) 参数[prompt]可选,用于提示用户输入.
#输入函数
>>> str1 = raw_input("please input a string:")
please input a string:I love you
>>> print(str1)
I love you
#查看str1数据类型
>>> type(str1)
<type 'str'>
注意raw_input()与input()的区别:(1).input支持合法python表格式"abc",字符串必须用引号括起,否则会报错"NameError: name 'abc' is not defined",而raw_input()任何类型输入都可接受; (2).raw_input()将所有输入作为字符串,返回string,而input()输入纯数字时具有自己的特性,返回输入的数字类型int或float.举例解释如下:
#SyntaxError语法错误
>>> str1 = input("input:")
input:abc
Traceback (most recent call last):
File "<stdin>",line 1,in <module>
File "<string>",in <module>
NameError: name 'abc' is not defined
#正确输入输出
>>> str1 = input("input:")
input:"I love you"
>>> print str1
I love you
#input纯数字 数据类型
>>> weight = input("weight:")
weight:12.5
>>> type(weight)
<type 'float'>
#raw_input 数据类型均为str
>>> age = raw_input("age:")
age:20
>>> type(age)
<type 'str'>
二. 函数之系统提供内部函数 python提供的系统内部库函数主要讲述一下四种类型:(引自视频,只简单介绍) 1.字符串函数库 通过help(str)可以查询字符串函数库,其中查询过程中"-More-"输入回车实现滚动信息,输出"q"退出帮助(Quit).字符串函数大家都比较熟悉,无论CC++C#Java都学过很多,而且基本大同小异.如: islower()函数判断字符串是否大小写,一个大写返回False.前面使用的format()函数、求字符串长度len()函数均属于字符串函数库,help(str.replace)可以查询具体函数用法,该函数用于新字符串替换旧字符串.
#判断字符串是否小写
>>> str1 = "Eastmount"
>>> str1.islower()
False
#字符串替换
>>> str2 = 'adfababdfab'
>>> str2.replace('ab','AB')
'adfABABdfAB'
#字符串求长度
>>> print(len(str2))
11
>>>
2.数学函数库 使用数学函数库时需要注意的是导入库"import math",该库中函数我们也非常熟悉,如sin()求正弦,cos()求余弦,pow(x,y)计算x的y次幂,如pow(3,4)=3*3*3*3,python中也可以使用3**4表示.help(math)中可以查看详细信息,而且库中定义了两个常数DATA: e = 2.718281... pi = 3.14159265... #导入math库 >>> import math >>> print math.pi 3.14159265359 #计算sin30度 >>> val = math.sin(math.pi/6) >>> print val 0.5 #pow函数 >>> math.pow(3,4) 81.0 >>> 3**4 81 >>> help(math.pow) Help on built-in function pow in module math: pow(...) pow(x,y) Return x**y (x to the power of y). >>> 3.网络编程库 系统提供内部库函数中网络编程库,我此处仅仅举个简单例子,socket(套接字网络编程)获取主机ip地址这是非常常见的运用,我将与C#网络编程进行简单对比.后面的博文中将详细讲述python网络编程.
>>> import socket
>>> baiduip = socket.gethostbyname('www.baidu.com')
>>> print baiduip
61.135.169.125
其中socket编程很常用,gethostbyname()返回指定主机ip,而C#中获取百度网址的ip地址代码如下所示.代码中可能会出现"警告:Dns.GetHostByName()函数已过时",可替换为IPHostEntry myHost = Dns.GetHostEntry(www.baidu.com).输出: 61.135.169.121 61.134.169.125
//引用新命名空间
using System.Net;
namespace GetIp
{
class Program
{
static void Main(string[] args)
{
//获取DNS主机名的DNS信息
IPHostEntry myHost = Dns.GetHostByName("www.baidu.com");
IPAddress[] address = myHost.AddressList;
for (int index = 0; index < address.Length; index++)
{
Console.WriteLine(address[index]);
}
Console.ReadKey();
}
}
}
4.操作系统(OS)函数库 操作系统库函数引用"import os",举例获取当前工作路径和先死当前路径下的文件和目录.使用os.system("cls")可以实现清屏功能.安装python目录Lib文件夹下含有很多py库文件供使用. >>> import os #获取当前工作路径 >>> current = os.getcwd() >>> print current G:softwareProgram softwarePythonpython insert #获取当前路径下的文件和目录 >>> dir = os.listdir(current) >>> print dir ['DLLs','Doc','h2.txt','include','Lib','libs','LICENSE.txt ','NEWS.txt','python.exe','pythonw.exe','README.txt','tcl','Tools'] >>> 三. 函数之第三方提供函数库及安装httplib2模块过程 (一).安装第三方函数库httplib2过程 Python中第三方开源项目中提供函数库供我们使用,比如使用httplib2库函数.在Linux中直接使用"easy_install httplib2"搜索自动安装,Windows下python开发工具IDLE里安装httplib2模块的过程如下(其他模块类似). 1.下载httplib2模块"https://code.google.com/p/httplib2/"到指定目录,解压压缩包"httplib2_0.8.zip"到某目录下,如果该网址google访问失败,可以到此处下载: 2.配置python运行环境 右键"计算机"->"属性"->在"系统"中选择"高级系统设置"->在"系统属性"中"高级"选择"环境变量" 在系统环境变量Path后添加python安装目录"G:softwareProgram softwarePythonpython insert" 3.在dos下安装httpLib2 管理员模式运行cmd,利用cd命令进入httplib2_0.8.zip解压目录,输入"python settup.py install",如下图所示安装成功. 4.使用httplib2 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
