Python编程学习(持续更新)

来源:互联网 发布:嘉兴美工招聘 编辑:程序博客网 时间:2024/04/28 21:58

    Python基本函数汇总(一)

1.abs(number)             返回数字的绝对值

2.cmath.sqrt()              返回平方根,可以应用于负数

3.float(object)              将字符串和数字转换成浮点数

4.help()                        提供交互式帮助

5.input(prompt)            获取用户输入 

6.int(object)                  将字符串和数字转换成整数

7.long(object)               将字符串和数字转换成长整型

8.math.ceil(number)      返回数的上入整数,返回值为浮点型

9.math.floor(number)      返回数的下舍整数,返回值为浮点型  

10.math.sqrt(number)     返回平方根,不适用于负数

11.pow(x,y[. z])               返回X的Y次幂

12.raw_input(prompt)     获取用户输入,返回的类型为字符串

13.repr(object)                返回值的字符串表示形式

14.round(number[ . ndigits])   根据给定精度对数字进行四舍五入

15.str(object)                   将值转换为字符串 

                                                                       Python基本概念学习

Python数据结构:列表和元祖

Python中最基本的数据结构是序列,序列中每个元素被分配一个序号,即元素所在位置,称为索引。

第一个索引值为0,第二个索引值为1,以此类推。

通用序列操作包括:索引、分片、加、乘。

Python还可以计算序列长度,找出最大元素和最小元素的内建函数。


分片操作:例子:numbers=[1,2,3,4,5,6,7,8,9,10]

                             numbers[3:6]  结果:4,5,6

                       第一个索引是需要提取部分的第1个元素的编号,而最后的索引是分片之后剩下部分的第1个元素的编号             


分片步长:例子:numbers[0:10:1]     结果:[1,2,3,4,5,6,7,8,9,10]

                             numbers[0:10:2]     结果:[1,3,5,7,9]


序列相加:  例子:[1,2,3]+[4,5,6]         结果:[1,2,3,4,5,6]

乘法:         例子:[42]*10                    结果:[42,42,42,42,42,42,42,42,42,42]

内建函数求取长度、最大值和最小值

 len:返回序列中所包含元素的个数

min函数:返回序列中最小的元素

max函数:返回序列中最大的元素



列表:   例子:X=[1,1,1]   X[1]=2    结果:x:[1,2,1]

列表方法:1.append:列表末尾追加新的对象    例子:lst=[1,2,3]  lst.append(4)  结果:lst  [1,2,3,4]

                  2.count:统计某个元素在列表中出现的次数  例子:['to','be','or','not','to','be'].count('to')   结果:2

                  3.extent: 列表末尾一次性追加另一个序列的多个值,即用新列表扩展旧列表 

                                 例子:a=[1,2,3]  b=[4,5,6]  a.extend(b)   结果:a  [1,2,3,4,5,6]

                  4.index:用于从列表中找出某个值的第一个匹配项的索引位置

                                例子:knights=['we','are','the','knights','who','say','ni']

                                           knights.index('who')

                                          结果:4

                   5.insert:用于将对象插入到列表中

                                例子:numbers=[1,2,3,4,5,6,7]      numbers.insert(3,'four')

                                 结果:numbers         [1,2,3,'four',5,6,7]

                                         

                   6.pop:移除列表的一个元素(默认为最后一个元素)

                                  例子:x=[1,2,3]           x.pop()

                                  结果:3

                  7.remove:用于移除列表中某个值的第一个匹配项

                                  例子:x=['to','be','or','not','to','be']        x.remove('be')

                                  结果:x               ['to','or','not','to','be']

                   8.reverse:将列表中的元素反向存储

                                  例子:x=[1,2,3]       x.reverse()

                                  结果:x             [3,2,1]

                   9.sort:将元素在原位置对列表进行排序

                                 例子:x=[4,6,2,1,7,9]       x.sort()

                                 结果:x             [1,2,4,6,7,9]

                  10.cmp:比较两个值


元祖:不可变序列,元祖不能被修改


                                 

字符串(略),查找手册


                                                                            条件和循环语句

1.print和import函数

    print:打印输出函数

    import:从模块导入函数

2.链式赋值:x=y=somefunction()

3.增量赋值:x+=1

4.pass语句:程序不执行任何操作

5.del:删除命令   x=1 del x  


python中def函数的用法

                                  Python编程中对于某些需要重复调用的程序,可以使用函数进行定义,基本形式为:

def 函数名(参数1, 参数2, ……, 参数N):
    执行语句
函数名为调用的表示名,参数则是传入的参数,可以更具需要定义,也可以没有。
# 例1:简单的函数使用# coding=gb2312# 定义函数 
def hello():    print 'hello python!'     
# 调用函数        hello()    >>> hello python!

函数可以带参数和返回值,参数将按从左到右的匹配,参数可设置默认值,当使用函数时没给相应的参数时,会按照默认值进行赋值。

# 例2:累加计算值
#
 coding=gb2312

# 定义函数
def myadd(a=1,b=100):
    result = 0
    i = a
    while i <= b:    # 默认值为1+2+3+……+100
        result += i    
        i += 1
    return result

# 打印1+2+……+10        
print myadd(1,10)
print myadd()       # 使用默认参数1,100
print myadd(50)     # a赋值50,b使用默认值
    
>>> 55
>>> 5050
>>> 3825

Python 函数的参数传递时,值得注意的是参数传入时若为变量会被当作临时赋值给参数变量,如果是对象则会被引用。

# 例3:
#
 coding=gb2312

def testpara(p1,p2):
    p1 = 10
    p2.append('hello')

l = []      # 定义一数组对像
a = 20      # 给变量a赋值
testpara(a,l)  # 变量a与对象数组l作为参数传入
print a     # 打印运行参数后的值
for v in l: # 打印数组对象的成员
    print v
        
>>> 20        # 调用函数后a变量并未被复值
>>> hello   # 而对象l数组则增加成员hello 

python中for语句的详细用法

     

#第一个:求 50 - 100 之间的质数

import math
for i in range(50, 100 + 1):
    for j in range(2, int(math.sqrt(i)) + 1):
        if i % j == 0:
            break
    else:
        print i

 

#第二个:把else的位置与if处于同一缩进。

import math
for i in range(50, 100 + 1):
    for j in range(2, int(math.sqrt(i)) + 1):
        if i % j == 0:
           break
        else:
           print i

 

#第三个:在else后加一个break语句。

import math
for i in range(50, 100 + 1):
    for j in range(2, int(math.sqrt(i)) + 1):
        if i % j == 0:
            break
        else:
            print i
            break

 

###idea###

for语句是python中的循环控制语句。可用来遍历某一对象,还具有一个附带的可选的else块,主要用于处理for语句中包含的break语句。

如果for循环未被break终止,则执行else块中的语句。

break 在需要时终止for循环

continue 跳过位于其后的语句,开始下一轮循环。

for语句的格式如下:

>>>for <> in <对象集合>:

...    if <条件>:

...        break

...    if <条件>:

...        continue

...    <其他语句>

...else:

...    <>

...

 

#关于第一个程序
在这里,我解释一下为何导入math模块:导入math模块就是为了开方。
如果导入了math模块,然后对 i 进行开方,可以减少运算次数。
求一个数是否质数。只需对它进行这样的运算:
    将这个数n,循环与 2 到 这个n的开平方 进行相除
如果这个区间内的所有整数不能整除n,则n为质数。
这样,就节省了运算 ‘大于n的开平方 小于n’ 之间这段运算的时间。
第二,我解释一下那‘+1’:
int(math.sqrt(i)) 输出的是比 i的开平方 小 的最大整数。
    比如说:math.sqrt(51) 结果比7大一点,而 int(math.sqrt(51)) 输出的是7
而且在range(m, n)这里,range()函数产生的是一个从 m至n-1的整数列表,因而需要‘+1’,使运算完整。

  顺便提一下range()函数。

    range([start,] stop [, step])

    # start  可选参数,起始数

    #stop   终止数,如果 range 只有一个参数x,则产生一个包含 0 至 x-1 的整数列表

    #step   可选参数,步长

 

#第二个程序

else那行不对,如果else放在那个地方的话,一旦有某个数遇到不能整除自己的数,就会输出i,直道找到一个整除自己等于0的数。那样就会连续输出这个数。
例如:i = 77,他不是质数,但是也会连续输出5次77,懂不?

 

只不过,只是自己不明白当else与if位于同一缩进的话,它是怎样运行的。
你解释得很详细,用‘茅塞顿开'来形容一点都不过分。
而且,我必觉得画图是理解循环一个非常好的办法。

0 0