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

python 3快速入门之基本操作和函数
>>> 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 
python 3快速入门之基本操作和函数

for语句基本

python 3快速入门之基本操作和函数
>>> # Measure some strings:
    a = [cat, window, defenestrate] 
>>> for x in a:
        print(x, len(x))

  cat 3
  window 6
  defenestrate 12

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

至于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

python 3快速入门之基本操作和函数
>>> 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
python 3快速入门之基本操作和函数

def其实就是声明了一个函数的意思
这会有返回值了,返回了一个链表

python 3快速入门之基本操作和函数
>>> 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]
python 3快速入门之基本操作和函数

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

python 3快速入门之基本操作和函数
>>> 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)
python 3快速入门之基本操作和函数

第一次实验

>>> ask_ok(Are you a doubi?)
Are you a doubi?no
False

第二次实验

python 3快速入门之基本操作和函数
>>> 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
python 3快速入门之基本操作和函数

in关键字
测定序列中知否包含某个值

********重要提示
默认值只被赋值一次,这个最好拿链表说话

python 3快速入门之基本操作和函数
>>> def tryy1(a,listt=[]):
    listt.append(a)
    return listt

>>> tryy1(1)
[1]
>>> tryy1(2)
[1, 2]
>>> tryy1(3)
[1, 2, 3]
python 3快速入门之基本操作和函数

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

>>> tryy1(listt=[doubi,dadoubi],a=5)
[doubi, dadoubi, 5]
>>> tryy1(listt=[doubi,dadoubi],1)
SyntaxError: non-keyword arg after keyword arg

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

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

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

python 3快速入门之基本操作和函数
>>> def make_incrementor(n):
    return lambda x: x + n

>>> f=make_incrementor(1)
>>> f(1)
2
>>> f(2)
3
python 3快速入门之基本操作和函数

这里么。。。lambda声明了一个匿名函数return x+n 调用方法就是对象名()

到这里就可以完成一些基本的操作了

python 3快速入门之基本操作和函数,布布扣,bubuko.com

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

上一篇:PHP 语法


下一篇:python查找并批量替换配置文件内容