`

python函数

 
阅读更多

1.在Python中定义函数,可以用必选参数、默认参数、可变参数和关键字参数,这4种参数都可以一起使用,或者只用其中某些,但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数和关键字参数。

def func(a, b, c=0, *args, **kw):
    print 'a =', a, 'b =', b, 'c =', c, 'args =', args, 'kw =', kw
>>> func(1, 2, 3, 'a', 'b', x=99)
a = 1 b = 2 c = 3 args = ('a', 'b') kw = {'x': 99}

 http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001374738449338c8a122a7f2e047899fc162f4a7205ea3000

 

2.str.strip(char)去除字符串首尾的指定的字符,默认是空格

a='0001230456000' a.strip() 那么输出12304546

 

java中用的是trim(),而且只能去除首尾的空格

 

java中有replace函数可以替换所有的空格 str.replace(" ","") 前面是target,后面是replacement

str.replaceAll(" ","")其实得到的结果是一样的,只不过replaceAll用的是正则,我们当是

String x = "[kllkklk\\kk\\kllkk]";

str.replaceAll(" \\","kk") 的时候会报错,因为\\进行了转义。我们可以用str.replaceAll("\\\\","kk")。

但是replace不会报错。replace执行的时候也会采用replaceAll所以replace比他慢一点。但是遇到或者不肯定会不会遇到转义,我们最好采用replace。

2.String类对象的常用操作及方法
在Java中,String类包含有50多个方法来实现字符串的各种操作,以下介绍一些我们需要经常使用的方法.
(1)字符串的连接
public String concat(String str) 
该方法的参数为一个String类对象,作用是将参数中的字符串str连接到原来字符串的后面. 
(2)求字符串的长度
public int length()
返回字串的长度,这里的长度指的是字符串中Unicode字符的数目.
(3)求字符串中某一位置的字符
public char charAt(int index)
该方法在一个特定的位置索引一个字符串,以得到字符串中指定位置的字符.值得注意的是,在字符串中第一个字符的索引是0,第二个字符的索引是1,依次类推,最后一个字符的索引是length()-1. 
(4)字符串的比较
比较字符串可以利用String类提供的下列方法:
1)public int compareTo(String anotherString)
该方法比较两个字符串,和Character类提供的compareTo方法相似,Character类提供的compareTo方法比较的是两个字符类数据,而这里比较的是字符串数据.
其比较过程实际上是两个字符串中相同位置上的字符按Unicode中排列顺序逐个比较的结果.如果在整个比较过程中,没有发现任何不同的地方,则表明两个字符串是完全相等的,compareTo方法返回0;如果在比较过程中,发现了不同的地方,则比较过程会停下来,这时一定是两个字符串在某个位置上不相同,如果当前字符串在这个位置上的字符大于参数中的这个位置上的字符,compareTo方法返回一个大于0的整数,否则返回一个小于0的整数. 
2)public boolean equals(Object anObject)
该方法比较两个字符串,和Character类提供的equals方法相似,因为它们都是重载Object类的方法.该方法比较当前字符串和参数字符串,在两个字符串相等的时候返回true,否则返回false.
3)public boolean equalsIgnoreCase(String anotherString)
该方法和equals方法相似,不同的地方在于,equalsIgnoreCase方法将忽略字母大小写的区别.
(5)从字符串中提取子串
利用String类提供的substring方法可以从一个大的字符串中提取一个子串,该方法有两种常用的形式:
1)public String substring(int beginIndex)
该方法从beginIndex位置起,从当前字符串中取出剩余的字符作为一个新的字符串返回.
2)public String substring(int beginIndex, int endIndex)
该方法从当前字符串中取出一个子串,该子串从beginIndex位置起至endIndex-1为结束.子串返的长度为endIndex-beginIndex. 
(6)判断字符串的前缀和后缀
判断字符串的前缀是否为指定的字符串利用String类提供的下列方法:
1)public boolean startsWith(String prefix)
该方法用于判断当前字符串的前缀是否和参数中指定的字符串prefix一致,如果是,返回true,否则返回false.
2)public boolean startsWith(String prefix, int toffset)
该方法用于判断当前字符串从toffset位置开始的子串的前缀是否和参数中指定的字符串prefix一致,如果是,返回true,否则返回false.
判断字符串的后缀是否为指定的字符串利用String类提供的方法:
public boolean endsWith(String suffix)
该方法用于判断当前字符串的后缀是否和参数中指定的字符串suffix一致,如果是,返回true,否则返回false.
(7)字符串中单个字符的查找
字符串中单个字符的查找可以利用String类提供的下列方法:
1)public int indexOf(int ch)
该方法用于查找当前字符串中某一个特定字符ch出现的位置.该方法从头向后查找,如果在字符串中找到字符ch,则返回字符ch在字符串中第一次出现的位置;如果在整个字符串中没有找到字符ch,则返回-1. 
2)public int indexOf(int ch, int fromIndex)
该方法和第一种方法类似,不同的地方在于,该方法从fromIndex位置向后查找,返回的仍然是字符ch在字符串第一次出现的位置. 
3)public int lastIndexOf(int ch)
该方法和第一种方法类似,不同的地方在于,该方法从字符串的末尾位置向前查找,返回的仍然是字符ch在字符串第一次出现的位置.
4)public int lastIndexOf(int ch, int fromIndex)
该方法和第二种方法类似,不同的地方在于,该方法从fromIndex位置向前查找,返回的仍然是字符ch在字符串第一次出现的位置.
(8)字符串中子串的查找
字符串中子串的查找与字符串中单个字符的查找十分相似,可以利用String类提供的下列方法:
1)public int indexOf(String str)
2)public int indexOf(String str, int fromIndex)
3)public int lastIndexOf(String str)
4)public int lastIndexOf(String str, int fromIndex) 
(9)字符串中字符大小写的转换
字符串中字符大小写的转换,可以利用String类提供的下列方法:
1)public String toLowerCase()
该方法将字符串中所有字符转换成小写,并返回转换后的新串.
2)public String toUpperCase()
该方法将字符串中所有字符转换成大写,并返回转换后的新串. 
(10)字符串中多余空格的去除
public String trim()
该方法只是去掉开头和结尾的空格,并返回得到的新字符串.值得注意的是,在原来字符串中间的空格并不去掉. 
(11)字符串中字符的替换
1)public String replace(char oldChar,char newChar)
该方法用字符newChar替换当前字符串中所有的字符oldChar,并返回一个新的字符串.
2)public String replaceFirst(String regex, String replacement)
该方法用字符串replacement的内容替换当前字符串中遇到的第一个和字符串regex相一致的子串,并将产生的新字符串返回. 
3)public String replaceAll(String regex, String replacement)
该方法用字符串replacement的内容替换当前字符串中遇到的所有和字符串regex相一致的子串,并将产生的新字符串返回. 
6.2.2 字符串变量与StringBuffer类 
1.创建StringBuffer类对象
StringBuffer类对象表示的是字符串变量,每一个StringBuffer类对象都是可以扩充和修改的字符串变量.以下是常用的StringBuffer类构造函数:
(1)public StringBuffer()
(2)public StringBuffer(int length) 
(3)public StringBuffer(String str)  

 对应的python是:http://www.jb51.net/article/47956.htm

 

3.  __future__ 模块

我们知道python更新以后很多特性就变得不兼容了,我们做项目也不能直接把2.7的移植到3.0,但是python之父可谓是十分的有远见,他采用__future__模块,可以将新特性移植到2.7中。

比如说我们2.7里面,2/3则是0,这是地板除,我们想要精确除,我们必须将一个转化成浮点型,2.0/3。但是3.*以后,我们的/均表示精确除,//均表示地板除。

 

4.list

append方法

count方法:a=[[1,2],1,1,[1,2],2,3]

a.count(1)----->2

注意 remove reverse sort函数不会有返回值。

所以我们不能通过b=a.sort(),这样的话b只能是一个None。我们还不能用b=a,然后b.sort()。

因为这是引用传递,赋值的是地址,改变一个改变了所有,a也跟着改变了。所以我们就用上了切片 b=a[;]这时会创建一个副本。

注意,java里面引用传递也是这个结果,但是对于String来说则不是。String也是引用传递,但是String的值是不可改变的,所以a=“asfsf” b=a a=“sgsgfs”(这时的a又是另一个对象),因此输出b的时候还是a原先的值。

但是对于对象的操作,而不是对象内容的操作,结果就不一样了。

a=[1,2,3,4]  b=a 这时b=[1,2,3,4]

如果我们a.append(5),这是b就成了[1,2,3,4,5]

但是当我们b=[5,4,3,2,1]的时候,a是没有变的。因为相当于b指向了另一个内存。而不是像函数一样改变内存的值。Java同理。

list1.add(1,2,3,4,5) list2=list1,如果Collections.sort(list1),那么list2也会变化,但是如果list1= new ArrayList(),其实list2是不变的,这和Python的 del list1,一样。

在函数调用中也是这样 :

a=[1,2,3,4]

def change(a):

    a=[2,3,4,5]

change(a)

a还是[1,2,3,4]

但是如果

def change(a):

    a[0]=6

change(a)

那么a就是[6,2,3,4]

 

 

 

5.join方法

python对于字符串的处理多了一个join方法,这个更像split的反功能。

a=['1','2','3','4','5']

b="+"

b.join(a)

'1+2+3+4+5'

 

6.python中的 and 和 or

如java c++所期待的一样,and 和 or 执行布尔运算,但是返回的却不是布尔值。

如果都是真,那么and操作返回的是最后一个真值。

如果有假,则返回第一个假值。

 

>>> 'a' and 'b'
'b'
>>> '' and 'b'
''
>>> 'a' and 'b' and 'c'
'c'

 

or操作:

同and一样,操作从左到右,如果有一个值为真,or操作直接返回这个真值,忽略后面所有的比较。

如果有假值,or操作返回最后一个假值。

 

 7.dir()可以获得对象的所有的属性和方法。

注意dir出来的__**__这是有特殊用意的,比如说__len__这个相当于len()函数,只不过len()函数计算的时候最终也是调用__len__

 

 

 

分享到:
评论

相关推荐

    Python-Python函数-教学设计.docx

    本教学设计针对Python函数这一核心概念,旨在帮助学生在已有的Python基础知识上,进一步提升编程技能。学生应已掌握了Python的基础语法和三种逻辑结构:顺序、条件分支和循环。然而,他们在逻辑思维和基础知识的扎实...

    python函数实验报告.doc

    通过一系列的任务,旨在帮助学习者掌握Python函数的核心概念和实际应用。 1. **函数的定义与使用**: - 在Python中,函数是通过`def`关键字定义的,例如`def isPrime(v)`。函数通常包含一个主体部分,用于执行特定...

    第六章Python函数习题及答案--中文

    本章节主要讲解了 Python 函数的基本概念和应用,包括函数的定义、函数的调用、函数的参数、函数的返回值等。通过实践习题和答案,读者可以更好地理解 Python 函数的使用和应用。 6.1 节定义函数:默认返回值 在 ...

    Python函数式编程(第2版)1

    《Python函数式编程(第2版)》是一本面向Python开发者深入探讨函数式编程的书籍。函数式编程是一种编程范式,它强调使用函数作为基本的构建块,以减少副作用和状态变化,从而提高代码的可读性和可维护性。Python虽...

    rhino python函数中文网址.txt

    接下来,我们将详细探讨Rhino中Python函数的相关知识点。 ### Rhino Python函数简介 #### Rhino 软件概述 Rhino是一款功能强大的3D建模软件,广泛应用于工业设计、产品设计、建筑以及工程等领域。它以其高度灵活的...

    收集的C调用Python函数资料

    当需要结合两者的优点时,就会涉及到C调用Python函数的话题。本文将深入探讨这个主题,旨在提供一个全面的理解和实践指南。 首先,我们要理解为什么要在C中调用Python函数。这种需求通常出现在以下几种情况:1) 想...

    VC调用Python函数,源代码

    本篇将详细讲解如何在VC++项目中实现对Python函数的调用,以及提供一个名为"pytest"的示例。 首先,调用Python函数在VC++中需要借助Python的API接口,这通常通过Python的动态链接库(.dll文件)来完成。确保你的...

    C++调用python函数

    本示例探讨了如何使用C++调用Python函数,特别是用于发送电子邮件的场景。这种技术允许我们利用C++的高效性能和Python丰富的库资源。 首先,C++与Python之间的交互通常依赖于Python的C API(Python C Application ...

    C++之python函数调用

    在C++程序中调用Python函数是跨语言交互的一个常见需求,这通常通过Python的C API(Python C Application Programming Interface)来实现。Python C API提供了一系列的C接口,允许C/C++代码直接与Python解释器交互,...

    python函数中文手册

    ### Python函数中文手册知识点解析 #### 一、概述 Python函数中文手册主要涵盖了Python中常用的内置函数介绍。本文档基于Python 2.7.2版本编写,并提供了对这些内置函数的详细解释及其用法示例。手册鼓励用户进行...

    Python函数速查表.zip

    Python函数速查表是编程者日常开发中的重要参考资料,它涵盖了Python语言中常用的函数和方法,便于快速查找和理解。这份资料特别强调了与numpy和SciPy库相关的知识,这两个库在科学计算和数据分析领域中扮演着核心...

    python函数文档_python函数_python文档_python_

    Python函数是Python编程语言的核心元素之一,用于组织代码并使其可重用。它们是执行特定任务的代码块,可以通过调用其名称来执行。在Python中,函数的定义使用关键字`def`,后跟函数名和圆括号,其中可能包含参数。...

    Atom-docblock-python,插入python函数文档块的atom插件.zip

    通常,一个Python函数的docstring会包含以下内容: 1. 函数的简短描述:一句话概述函数的作用。 2. 参数描述:每个参数的名称、类型和功能。 3. 返回值:函数执行后返回的数据类型和含义。 4. 示例:如果适用,可以...

    04-Python函数

    Python函数思维导图,便捷整理思路,函数介绍、函数的定义与调用、函数参数、函数返回值、、局部变量和全局变量、递归函数、匿名函数

    Notepad++ 支持python函数浏览插件 Notepad插件

    这个名为"Notepad++ 支持python函数浏览插件"的资源正是为了解决这个问题。它提供了一个增强功能,使得用户可以更方便地查看和折叠Python代码中的函数和类,提高了代码阅读和管理的效率。这在处理大型Python项目时...

    c++调用Python函数(并返回数据).zip

    本示例探讨的是如何使用C++调用Python函数,并从Python返回数据到C++。这个过程通常涉及到Python的C API或者第三方库如`boost::python`。 首先,我们需要理解C++调用Python函数的基本流程: 1. **初始化Python解释...

    python 函数的动态参数python 函数的动态参数python 函数的动态参数python 函数的动态参数.txt

    python 函数的动态参数python 函数的动态参数python 函数的动态参数python 函数的动态参数python 函数的动态参数python 函数的动态参数python 函数的动态参数python 函数的动态参数python 函数的动态参数

    python函数声明和调用定义及原理详解

    Python中的函数声明和调用具有其独特的语法和原理,本文将详细介绍Python函数的声明与调用规则、参数传递方式以及其背后的执行原理。 首先,要定义一个函数,我们使用关键字def后跟函数名和括号,其中括号内可以...

    Python函数

    Python函数

    python函数.docx

    总结来说,Python函数是通过`def`关键字定义的代码块,可以接受参数并返回结果。它们允许代码的模块化,提高可读性和复用性。函数参数分为形参和实参,形参在函数定义时声明,实参在调用时提供。局部变量只在函数...

Global site tag (gtag.js) - Google Analytics