MyException - 我的异常网
当前位置:我的异常网» Perl/Python » Python学习笔记(零)

Python学习笔记(零)

www.MyException.Cn  网友分享于:2015-01-06  浏览:0次
Python学习笔记(0)

Python 是什么类型的语言

Python是脚本语言

Python下载地址:https://www.python.org/downloads/

Python版本:Python 3.4.2 - 64bit

        脚本语言(Scripting language)是电脑编程语言,因此也能让开发者藉以编写出让电脑听命行事的程序。以简单的方式快速完成某些复杂的事情通常是创造脚本语言的重要原则,基于这项原则,使得脚本语言通常比 C语言、C++语言 或 Java 之类的系统编程语言要简单容易。
也让脚本语言另有一些属于脚本语言的特性:

  • 语法和结构通常比较简单
  • 学习和使用通常比较简单
  • 通常以容易修改程序的“解释”作为运行方式,而不需要“编译”
  • 程序的开发产能优于运行性能

            一个脚本可以使得本来要用键盘进行的相互式操作自动化。一个Shell脚本主要由原本需要在命令行输入的命令组成,或在一个文本编辑器中,用户可以使用脚本来把一些常用的操作组合成一组串行。主要用来书写这种脚本的语言叫做脚本语言。很多脚本语言实际上已经超过简单的用户命令串行的指令,还可以编写更复杂的程序。

     

    IDLE 是什么?

            IDLE是一个Python Shell,shell的意思就是“外壳”,基本上来说,就是一个通过键入文本与程序交互的途径!像我们Windows那个cmd窗口,像Linux那个黑乎乎的命令窗口,他们都是shell,利用他们,我们就可以给操作系统下达命令。同样的,我们可以利用IDLE这个shell与Python进行互动。安装Python后,在搜索中直接搜索IDLE就会显示了。

    image

     

    打开IDLE,看到”>>>”这个提示符,“它”的含义是告诉我们,Python已经准备好了,在等着键入Python指令呢。

    image

     

    我们可以试着键入指令:

    >>> print("I love Python")

     

    image

    可以看到,Python的IDLE直接打印了字符串I love Python

     

    可以试一下键入错误的指令:

    >>> System.out.println("I love Python");
    Traceback (most recent call last):
      File "<pyshell#1>", line 1, in <module>
        System.out.println("I love Python")
    NameError: name 'System' is not defined

    发现IDLE直接给我们报错了,并且很友善的提示我们,NameError: name 'System' is not defined,System这个东西没有定义

     

    试着键入Python2的语法:

    >>> print "I love Python"
    SyntaxError: Missing parentheses in call to 'print'

    它会告诉我们,是一个错误的语法。

     

    键入了很多错误的信息,试着键入正确的信息,比如计算:

    >>> print(5 + 8)
    13

     

    在IDLE中,打印计算,甚至可以不用print()函数来打印,可以直接输入数字计算,如:

    # 相加
    >>> 5 + 8
    13
    
    # 相减,并且输出负数
    >>> 5 - 8
    -3
    
    # 相减, 输出是正数
    >>> 9 - 5
    4
    
    # 相乘
    >>> 2 * 3
    6
    
    # 相除,输出是个浮点型的小数
    >>> 9 / 3
    3.0
    
    # 如果想要输出整数,需要用两个除号“//”
    >>> 9 // 3
    3

     

    不仅可以当计算器来用,还可以处理非常大的数字计算:

    >>> 1234567890123456789 * 9876543210987654321
    12193263113702179522374638011112635269

     

    还可以用来字符串相加:

    # 将字符串相加
    >>> 'I' + 'love' + 'Python'
    'IlovePython'
    
    # 字符串相加后太丑了,我们在单词后面加上空格
    >>> 'I' + ' ' + 'love' + ' ' + 'Python' + '!'
    'I love Python!'
    
    # 中文与英文相加
    >>> "" + "" + "Python"
    '我爱Python'

     

    Python不仅就字符串拼接、相加这么简单,还可以使用字符串相乘:

    >>> 'I love Python! ' * 3
    'I love Python! I love Python! I love Python! '

     

    当然,并不是所有字符串相乘都可以,比如字符串乘以字符串,就会报错,Python还没有那么只能,字符串的除法,减法都会报错:

    # 字符串与数字相加,报错
    >>> 'I love Python' + 5
    Traceback (most recent call last):
      File "<pyshell#7>", line 1, in <module>
        'I love Python' + 5
    TypeError: Can't convert 'int' object to str implicitly
    
    # 字符串与字符串相乘,报错
    >>> 'I love Python!' * 'love'
    Traceback (most recent call last):
      File "<pyshell#40>", line 1, in <module>
        'I love Python!' * 'love'
    TypeError: can't multiply sequence by non-int of type 'str'
    
    # 字符串相减,报错
    >>> 'I love Python!' - 'love'
    Traceback (most recent call last):
      File "<pyshell#41>", line 1, in <module>
        'I love Python!' - 'love'
    TypeError: unsupported operand type(s) for -: 'str' and 'str'
    
    # 字符串相除,报错
    >>> 'I love Python!' / 3
    Traceback (most recent call last):
      File "<pyshell#42>", line 1, in <module>
        'I love Python!' / 3
    TypeError: unsupported operand type(s) for /: 'str' and 'int'

    为什么>>>print('I love fishc.com ' * 5)可以正常执行,但 >>>print('I love fishc.com ' + 5) 却报错?

            在 Python 中不能把两个完全不同的东西加在一起,比如说数字和文本,正是这个原因,>>>print('I love Python ' + 5) 才会报错。这就像是在说“苍井空加上5会是多少?”一样没有多大意义!不过乘以一个整数来翻倍就具有一定的意义了,前边的例子就是将 "I love Python" 这个字符串打印五次。 

     

     

    print()的作用是什么?

    说了这么多,都把print()忘记了,那么print()是什么呢?

    print() 会在输出窗口中显示一些文本。我们可以在IDLE中输入help(print)来寻求帮助

    image

    其中比较有用的是print的内置方法sep和end

    sep---在字符串之间插入值,默认是一个空格,如:

    # print中,每个字符串是用“,”逗号隔开的,默认是一个空格
    >>> print('我是第一个字符串', '我是第二个字符串')
    我是第一个字符串 我是第二个字符串
    
    # 如果我想让两个字符串中没有空格,就可以使用sep了
    >>> print('我是第一个字符串', '我是第二个字符串', sep='')
    我是第一个字符串我是第二个字符串
    
    # 当然,也可以使用其他的文字来隔开字符串。
    >>> print('我是第一个字符串', '我是第二个字符串', sep='---我的存在,就是为了隔开你们---')
    我是第一个字符串---我的存在,就是为了隔开你们---我是第二个字符串
    
    # 使用逗号来隔开字符串,为了效果明显,估计多加了很多逗号~
    >>> print('I', 'love', 'Python', sep=',,,,,')
    I,,,,,love,,,,,Python
    
    # \n是换行符
    >>> print('我是第一个字符串', '我是第二个字符串', sep='\n')
    我是第一个字符串
    我是第二个字符串

     

    end---在字符串结尾追加一个值,默认是换行,如:

    # 在IDLE中,输入print点击回车,就直接输出了,如果使用分号,就可以在一行写上两个指令在输出,Python的IDLE是不是很方便~
    >>> print('我在第一行!');print('我在第二行!')
    我在第一行!
    我在第二行!
    
    # 如果不加end的话,最后一个值默认是\n,但是如果加了end=‘’,就把\n给去掉了,变成一个空的字符串,所以两个print就可以在一行显示了~
    >>> print('我在第一行!', end='');print('我在第二行!')
    我在第一行!我在第二行!
    
    >>> print('我在第一行!', end='---就是不让换行---');print('我在第二行!')
    我在第一行!---就是不让换行---我在第二行!

     

    如果我需要在一个字符串中嵌入一个双引号,可以这样做:

    # 我们在"双引号"中,加上"双引号"的字符串,Python会以为这段话已经结束了,以为下个"双引号"开始输入下一段话,所以'它'会很善解人意的提示你“语法错误”
    >>> print("Python我非常喜欢"",你们喜欢吗?")
    SyntaxError: invalid syntax
    
    # 我们可以使用反斜杠来把"双引号"给注释掉
    >>> print("Python我非常喜欢\"它\",你们喜欢吗?")
    Python我非常喜欢"",你们喜欢吗?
    
    # 我们可以在'单引号'中输入字符串,然后字符串中需要加"双引号"的位置使用双引号
    >>> print('Python我非常喜欢"它",你们喜欢吗?')
    Python我非常喜欢"",你们喜欢吗?
    
    # 当然,我们也可以在双引号中,输入单引号
    >>> print("What's your name? \nMy name's Python")
    What's your name? 
    
    My name's Python

     

    输入 >>>'Python'与输入 >>>print('Python') 有何不同?

    直接输入是将结果及类型打印到屏幕上,而print是将结果打印到屏幕上,自己试试并观察结果!

    # 输出结果是有引号的
    >>> 'Python'
    'Python'
    
    # 输出结果没有引号
    >>> print('Python')
    Python

     

    如果在文本编辑器中,上面的问题就明显了。比如在IDLE中,使用“Ctrl + N”来打开文本编辑器

    直接打印'Python',点击F5运行,发现IDLE中,什么都没有

    image

     

    加上print()之后,就可以打印出来了

    image

    设置环境变量

    设置你的操作系统的环境变量,以便可以轻松进入 Python 环境

    反键计算机->属性->高级系统设置->环境变量->系统变量选择"Path"->编辑->在变量值最后加上Python的安装目录

    image

     

    设置好了,在运行中键入CMD,输入python,可以测试。执行python后,就像IDLE一样。不过是个黑乎乎的窗口。

    image

     

    为什么我们要使用 Python3?

    为什么我们要使用Python?Python2到底有什么问题?看起来很多程序员依然在使用Python2?

            确实还有相当多的程序员在使用 Python2,不过 Python3 才是 Python 发展的未来,就像 XP 和 WIN7 一样。其实Python3 中的新特性确实很妙,很值得进行深入学习!感觉如果了解了 Python3,Python2 的代码阅读对于你来说根本不成问题!

文章评论

程序员的鄙视链
程序员的鄙视链
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
如何成为一名黑客
如何成为一名黑客
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
那些争议最大的编程观点
那些争议最大的编程观点
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
总结2014中国互联网十大段子
总结2014中国互联网十大段子
每天工作4小时的程序员
每天工作4小时的程序员
漫画:程序员的工作
漫画:程序员的工作
2013年中国软件开发者薪资调查报告
2013年中国软件开发者薪资调查报告
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
那些性感的让人尖叫的程序员
那些性感的让人尖叫的程序员
一个程序员的时间管理
一个程序员的时间管理
程序员和编码员之间的区别
程序员和编码员之间的区别
 程序员的样子
程序员的样子
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
旅行,写作,编程
旅行,写作,编程
程序员应该关注的一些事儿
程序员应该关注的一些事儿
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
程序员必看的十大电影
程序员必看的十大电影
Java程序员必看电影
Java程序员必看电影
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
程序员都该阅读的书
程序员都该阅读的书
我是如何打败拖延症的
我是如何打败拖延症的
老程序员的下场
老程序员的下场
为什么程序员都是夜猫子
为什么程序员都是夜猫子
中美印日四国程序员比较
中美印日四国程序员比较
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
我的丈夫是个程序员
我的丈夫是个程序员
代码女神横空出世
代码女神横空出世
Google伦敦新总部 犹如星级庄园
Google伦敦新总部 犹如星级庄园
10个调试和排错的小建议
10个调试和排错的小建议
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有