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编程中对于某些需要重复调用的程序,可以使用函数进行定义,基本形式为:
执行语句函数名为调用的表示名,参数则是传入的参数,可以更具需要定义,也可以没有。
函数可以带参数和返回值,参数将按从左到右的匹配,参数可设置默认值,当使用函数时没给相应的参数时,会按照默认值进行赋值。
# 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
#第一个:求 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位于同一缩进的话,它是怎样运行的。
你解释得很详细,用‘茅塞顿开'来形容一点都不过分。
而且,我必觉得画图是理解循环一个非常好的办法。
- Python编程学习(持续更新)
- python学习 持续更新
- Python学习--持续更新
- Python学习随记(持续更新)
- python 学习小结(持续更新中...)
- Python学习资源(持续更新)
- Python学习笔记(持续更新)
- python学习笔记(持续更新)
- python学习集锦---持续更新
- Python学习—持续更新
- python重新学习(持续更新)
- Python开发实战学习笔记(持续更新)
- python 学习问题拾忆(持续更新)
- Python学习--常见异常总结(持续更新)
- 学习unix高级编程之我见(持续更新中)
- python基础(持续更新)
- python术语(持续更新)
- Python笔记(持续更新)
- autoscan automake 生成Makefile
- C++语言习题 求n阶勒让德多项式
- 在启动 Eclipse 时候,弹出“Failed to load the JNI shared library jvm.dll”错误的解决方法!
- poj1201 Intervals
- 正则表达式规则
- Python编程学习(持续更新)
- 面对新语言和跳槽,程序员如何保持技术优势?
- 分享一个下载sdk,android studio ,Eclipse , jdk ,adt网站
- 我的编程致富之路
- Java程序突然退出,没有任何提示!
- Linux计划任务——cron服务
- 用桌面版Chrome模拟移动浏览器:chrome mobile emulation
- ETL增量抽取方式
- 提高编程技能的11个建议