python 3快速入门之基本操作和函数

作者:金牛区福生殡葬服务部 来源:www.cdfsbz.com 发布时间:2017-09-02 11:50:25
python 3快速入门之基本操作和函数 最近由于一些活动原因需要看一下python,python目测有两个主流版本,2.7,3.3但是貌似3.3正在蓬勃发展,所以准备学习它。

但是教程偏少,而且都是2.7,也有不错的教程是在官网。。英文。。

这里假设已有c或者c#编程基础

windows上的安装方法

从官方或站长百科下载点下载最新版本的

Python Windows 安装程序,下载.exe 安装文件。http://www.python.org/

vs2012可以安装插件 http://pytools.codeplex.com/releases/view/82130

好了安装完了就启动IDLE 或者vs2012也可以

废话不多说

print()基本输出

input()基本输入

所谓申明。。。a=1

就当a前面有一个var

输入以及基本的if

复制代码

>>> x = int(input("Please enter an integer: "))

Please enter an integer: 42

>>> if x < 0:

x = 0

print('Negative changed to zero')

elif x == 0:

print('Zero')

elif x == 1:

print('Single')

else:

print('More')

More

复制代码

for语句基本

复制代码

>>> # Measure some strings:

a = ['cat', 'window', 'defenestrate']

>>> for x in a:

print(x, len(x))

  cat 3

  window 6

  defenestrate 12

复制代码

至于break与continue还是原来的用法

len()既可以测试字符串的长度,又可以计算数组or集合中元素的个数

这里既然涉及了字符串,这也是一个非常大的话题,这里先提到一点

可以使用' ' " "来包含字符串,当然还有一种""" """

>>> """wangji

dahaoren"""

'wangji\ndahaoren'

在以后详细研究

这个函数range

range(结束值)起始为0,步长为一

range(起始值,结束值)步长为一

range(起始值,结束值,步长)

>>> for i in range(-10, -100, -30):

print(i)

-10

-40

-70

pass 这个东西什么都不做。。(真的。但是高手可能会用,人性化的东西)

def其实就是声明了一个函数的意思

声明函数并使用

首先来一个类似没有返回值的方法--其实是返回了null

复制代码

>>> def fib(n):

"""Print aFibonacci series up to n"""

a,b=0,1

while a<n:

print(a,end ='')

a,b=b,a+b

print( )

>>> fib(2000)

0

1

1

2

3

5

8

13

21

34

55

89

144

233

377

610

987

1597

复制代码

def其实就是声明了一个函数的意思

这会有返回值了,返回了一个链表

复制代码

>>> def fib2(n):

result=[]

a,b=0,1

while a<n:

result.append(a)

a,b=b,a+b

return result

>>> fsda=fib2(200)

>>> fsda

[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144]

复制代码

同样支持带有默认值的形参

复制代码

>>> def ask_ok(prompt, retries=4,complaint='Yes or no ,please!'):

while True:

ok=input(prompt)

if ok in('y','ye','yes'):

return True

if ok in('n','no','nop','nope'):

return False

retries=retries-1

if retries<0:

raise IOError('refusenik user')

print(complaint)

复制代码

第一次实验

>>> ask_ok('Are you a doubi?')

Are you a doubi?no

False

第二次实验

复制代码

>>> ask_ok('Are you a doubi?',2)

Are you a doubi?doubihao

Yes or no ,please!

Are you a doubi?wobushidoubi

Yes or no ,please!

Are you a doubi?minashangohayou

Traceback (most recent call last):

File "<pyshell#81>", line 1, in <module>

ask_ok('Are you a doubi?',2)

File "<pyshell#74>", line 10, in ask_ok

raise IOError('refusenik user')

OSError: refusenik user

复制代码

in关键字

测定序列中知否包含某个值

********重要提示

默认值只被赋值一次,这个最好拿链表说话

复制代码

>>> def tryy1(a,listt=[]):

listt.append(a)

return listt

>>> tryy1(1)

[1]

>>> tryy1(2)

[1, 2]

>>> tryy1(3)

[1, 2, 3]

复制代码

我们可以理解为这是一个静态的局部变量。。还有一种传入参数的方法关键字传入法,说白了就是可以改变向函数中输入参数的顺序还是以刚才的测试为例

>>> tryy1(listt=['doubi','dadoubi'],a=5)

['doubi', 'dadoubi', 5]

>>> tryy1(listt=['doubi','dadoubi'],1)

SyntaxError: non-keyword arg after keyword arg

使用了关键字传入后面必须使用关键字传入(你不用关键字,电脑不知道你后面对应的是什么,站群,使用关键字即为打乱原有顺序(就算你没有打乱,电脑也是用了另一种方法对应形参))

(任何时候都要把握两个原则:1、不要有数值没有被初始化2、把话说明白了,不作死就不会死(什么意思,赋值时请按照常规思想,而且只要出现了关键字后面对应形参的顺序就不好定了,所以后面也要 用关键字))

一些思考,要以编写者的意图去适应一门语言,而不是去死套规则,要理解每个规则的意义而不是盲目地去匹配,这样学习语言就可以事半功倍,而且很多语言都是共通的)

>>> def make_incrementor(n):

return lambda x: x + n

>>> f=make_incrementor(1)

>>> f(1)

2

>>> f(2)

3

企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:湖北SEO http://hubei.raoyu.net

  • 上一篇:DDS---相位累加器、ROM查找表的FPGA实现
  • 下一篇:最后一页
  • 
    COPYRIGHT © 2015 金牛区福生殡葬服务部 ALL RIGHTS RESERVED.
    购买cdfsbz.com友情链接、项目合作请联系客服QQ:2500-38-100 邮箱:2500-38-100#QQ.com(#换@)
    本站所有原创信息,未经许可请勿任意转载或复制使用 网站地图 技术支持:肥猫科技
    精彩专题:网站建设
    购买本站友情链接、项目合作请联系客服QQ:2500-38-100