zoukankan      html  css  js  c++  java
  • python基础学习笔记(一)

           好吧!我早就想学习一门语言了,我想编程是我们大多测试员的短板。虽然,我更熟悉JAVA,但我还是的rubypython之间犹豫了很久。我一直觉得自己编程方面没有天赋。所以就选个简单点的下手吧。


    安装与运行交互式解释器

        在绝大多数linuxUNIX系统安装中(包括Mac OS X,Python的解释器就已经存在了。我们可以在提示符下输入python命令进行验证(作者环境ubuntu

    fnngj@fnngj-H24X:~$ python 
    Python 2.7.3 (default, Sep 26 2012, 21:53:58) 
    [GCC 4.7.2] on linux2 
    Type "help", "copyright", "credits" or "license" for more information. 
    >>> 

    Ok ! 如果敲入python命令出现以上信息时,表明我们已经安装了python 环境。

               如果没有安装,在ubuntu /Debin linux ,那么可以用下面的命令来安装Python:

     $ apt-get install python

    如果是window 下的安装,以及linux 下下载源码包的安装,相信此类人问题很容易找到,这里就不具体讲解了。相信比第一次配置java环境要简单的多。

    输入一下命令,看其是否可以正常运行。

    >>> print "hello,world!" 
    hello,world!

    注意:如果要推出交互式解释器,可以ctrl+D 

    算法是什么?


           在认真编程之前,先来说说什么是计算机程序设计,简单地说,计算机程序设计就是告诉计算机做什么事。计算机可以做很多事,但它不会自己思考,需要我们告诉它具体细节,需要用计算机能够理解的语言将算法告诉它。“算法”不过是“程序”或者“食谱”的另一种悦耳的说法----详细描述如何做某事。

    小葱拌豆腐、豆腐、

    首先,拿一些豆腐;(声明一个变量)

    然后加入小葱在豆腐上。(两个变量相加)

    如果需要特殊辣味的豆腐。(考虑特定的条件)

    煮熟---10分钟检查一次。(重复运行此指令)


    食谱和算法都包含一些要素(对象、物品),以及指令(语句)。“小葱” 和“ 豆腐” 就是要素。指令包括“加入小葱在豆腐上” 等。

    数字和表达式:

    交互式python解释器可以当强大的计算器使用

    >>> 1-2 
    -1 
    >>> 1+2 
    3 
    >>> 32784*13 
    426192 
    >>> 1/2 
    0

       什么情况?12 不是应该等于0.5么?怎么是0呢? “/” 用于取整,不够整除,肯定就是0了,试试浮点数

    >>> 7/2 
    3
    >>> 1.0/2.0 
    0.5

    试试“%” 取余

    >>> 6 % 3 
    0 
    >>> 6 / 3 
    2 
    >>> 6 % 3 
    0 
    >>> 7 / 3 
    2 
    >>> 7 % 3 
    1 
    >>> 13 % 9 
    4
    >>> 0.75 % 0.5 
    0.25

    看明白整除(/)与取余(%)的区别了吧。

    6 / 3 刚好被2整除,所以余数(%)是0 13 / 9 只能带得到19 ,余数就是4


    下面再试试“ ** ” 幂运算(乘方)符

    >>> 2*2*2 
    8 
    >>> 2**3 
    8 
    >>> 2**6 
    64 
    >>> -3**2 
    -9 
    >>> (-3)**2 
    9

    23次方可以用乘方符(**)表示,这样就相当方便。

    乘方符的比取反(一元减运算符)的优先级高,所以-3**2 等同于-3**2),如果想计算(-3**2 ,就需要显式说明。

    长整数


    python可以处理非常大的数

    >>> 100000000000000000000000 
    100000000000000000000000L 
    
    >>> 100000000000000000000000L 
    100000000000000000000000L

    普通整数在2 147 483 647 -2 147 483 647 之间,超出可以用长整形表示(L) ,我们也可以自己把整数转换成长整型(输入时在末尾加“L”


    变量


    这个和其他编程语言没有任何不同,如果你从没接触过程序,相信你也很容易理解。

    >>> x = 3 
    >>> x*2 
    6
    >>> x = 5 
    >>> x * 2 
    1

    3 赋值给 x ,那么x 变量现在的值就是3x 乘以 2 结果是6 ,我又把5 赋值给了 x ,那么与2相乘的结果肯定是10了。

    定义变量规则:不能以数字开头,可以包含字母、数字和下划线。

    语句


    实际上最开始我们已经讲了语句 print 就是打印输出语句。

    >>> 2*2 
    4 
    
    >>> print 2*2 
    4

    虽然结果一样,上面的是表达式,下面的是语句。



    获取用户输入


    有使用程序运行的过程需要用户输入,根据用户输入的内容继续执行。

    >>> input("输入表达式:") 
    输入表达式:2*2 
    4

    程序的第二行等待用户输入,2*2 是由用户随便输入的。下面看个更有意思点的。

    >>> x=input("x:") 
    x:15 
    >>> y=input("y:") 
    y:32 
    >>> print x*y 
    480 

    哎~!别傻看了,和我一起敲才有意思呢! 我保证下面的你看不懂!

    >>> if 1==2 : print 'one equals two' 
    ... 
    >>> if 1==1 : print 'one equals one' 
    ... 
    one equals one 

    算了,告诉你吧,如果1等于(==2,条件是假(就是不成立),print 'one equals two' 将不被执行。

    如果1等于(==1,条件是真(成立),print 'one equals ' 将被执行。

    函数


    前面介绍过使用幂运算符(**)来计算乘方。事实上,可以用函数来代替运算符,这个函数就是pow :

    >>> 2**3
    8
    
    >>> pow(2,3)
    8

    函数就像可以用来实现特定功能的小程序一样。python的很多函数都做很奇妙的事情。我们也可以自定义函数。因此,我们通常把pow等系统提供的函数称为 内建函数。

    >>> 10+pow(2, 3*5)/3.0
    10932.666666666666
    
    >>> abs(-10)
    10
    >>> 18/13
    1
    >>> round(18.4/13.7)
    1.0

    我们当热可以使用函数调用和运算符创建更复杂的表达式; abs()函数可以得到数人绝对值,round函数则会把浮点数四舍五入为最接近的整数值。


    模块


    可以把模块想象成导入到python以增强其功能的扩展。需要使用特殊人命令import来导入模块。

    >>> import math
    >>> math.floor(32.9)
    32.0
    >>> int(math.floor(32.9))
    32

    floor 函数的功能是取整。因为floor()函数属于math模块,所以在使用之前要先导入模块(import math),然后按照(模块.函数)的格式使用这个模块的函数。

    如果想把32.9转换为整数(32)而不是浮点数(32.0),可以使用int函数。


    在确定自己不会导入多个同名函数(从不同模块导入)的情况下,你可能不希望在每次调用函数的时候,都要写模块的名字。那么,可以使用import命令的另外一种形式:

    >>> from math import sqrt
    >>> sqrt(9)
    3.0
    >>> sqrt(8)
    2.8284271247461903

    sqrt()函数用于计算一个数的平方根。


    保存并执行程序


    本人在ubuntu 下进程学习,一个python命令就进入了交互式解释器。交互式解释器是python的强项之一,它让实时检验解决方案并且体验这门语言成为了现实。但是,在交互式解释器里面输入的一切都会在它退出的时候丢失。我们真正想做的事情是编写自己和他人都能运行的程序。

    下面我们创建一个文件
    root@fnngj-H24X:/hzh/python# touch hell.py
    root@fnngj-H24X:/hzh/python# ls
    hell.py
    root@fnngj-H24X:/hzh/python# vi hell.py
    输入:
    print “hello,world!”
    
    保存退出。运行
    root@fnngj-H24X:/hzh/python# python hell.py 
    hello,world!

    看!这就是一个可以一直运行的程序。 好吧!以上面的这种方式,在来做个有意思的程序。

    打开文件,输入一下程序:
    name=raw_input("what is your name?")
    print "hello "+name+ " !"
    
    保存退出,运行!
    root@fnngj-H24X:/hzh/python# python hell.py 
    what is your name?huhu      // 这里要求用户输入自己的名字
    hello huhu !

                 不知道是因为python 语言本身的特点,还是因为我找到了一本不错的入门教程《python 基础教程(第二版)》 ,我学习这门语言的过程非常舒服。不像java,为了使程序输出一个hello word ,要写很多东西。(这里没有说java不好的意思)

  • 相关阅读:
    【CF536D】Tavas in Kansas(博弈+动态规划)
    【CF643F】Bears and Juice(信息与可区分情况数)
    【AT3981】[ARC093D] Dark Horse(容斥+状压DP)
    【CF708E】Student's Camp(动态规划)
    【洛谷6775】[NOI2020] 制作菜品(思维好题)
    【洛谷2282】[HNOI2003] 历史年份(线段树优化DP)
    【洛谷5068】[Ynoi2015] 我回来了(线段树)
    【洛谷4117】[Ynoi2018] 五彩斑斓的世界(第二分块)
    【洛谷3745】[六省联考2017] 期末考试(水题)
    【AtCoder】AtCoder Grand Contest 050 解题报告(A~D)
  • 原文地址:https://www.cnblogs.com/fnng/p/2923019.html
Copyright © 2011-2022 走看看