zoukankan      html  css  js  c++  java
  • Python入门(2)

    一、    基础语法

    1.Print

    print 是 python 里很基本很常见的一个操作,它的操作对象是一个字符串。

    直接在 print 后面加一段文字来输出的话,需要给文字加上双引号或者单引号。大家应该发现了,print 除了打印文字之外,还能输出各种数字、运算结果、比较结果等。

     

    2.输入

    前面我们介绍了输出,既然有输出就肯定有输入,我们得有向程序“输入”信息的办法,才能和程序对话,进行所谓的“人机交互”。

    Python 有一个接收命令行下输入的方法:input()。

    举例:

    print "Who do you think I am?"

    input()

    print "Oh, yes!"

    运行后可以看到只输出第一行就停住了,那是因为input 在等待你的输入。

     

    3.变量

    变量,望文生义,就是变化的量。python 里创建一个变量的方法很简单,给它起个名字,然后给它一个值。

    举起几个栗子:

    name = 'Crossin'

    myVar = 123

    price = 5.99

    visible = True

    注意:“=”的作用把右边的值赋予给左边变量。

     

    4.数据类型及类型转换    

    l 4种基本数据类型

    1. 字符串
    2. 整数
    3. 小数 (浮点数)
    4. bool 类型

     

     

    l 类型转换

    1. int(x) #把 x 转换成整数# int('123') == 123
    2. float(x) #把 x 转换成浮点数#float('3.3') == 3.3
    3. str(x) #把 x 转换成字符串#str(111) == '111‘
    4.  bool(x) #把 x 转换成 bool 值#bool(0) == False

     

    5.Random

            random.randint(a, b)可以生成一个 a 到 b 间的随机整数,包括 a 和 b。a、b 都必须是整数,且必须 b≥a。

    random.random()生成一个 0 到 1 之间的随机浮点数,包括 0 但不包括 1,也就是[0.0, 1.0)。

    random.uniform(a, b)生成 a、b 之间的随机浮点数。不过与 randint 不同的是,a、b 无需是整数,也不用考虑大小。

    random.choice(seq)从序列中随机选取一个元素。seq 需要是一个序列,比如 list、元组、字符串。

    random.randrange(start, stop, step)生成一个从 start 到 stop(不包括 stop),间隔为 step 的一个随机数。start、stop、step 都要为整数,且 start<stop。 start 和 step 都可以不提供参数,默认是从 0 开始,间隔为 1。但如果需要指定 step,则必须指定 start。

    random.sample(population, k)从 population 序列中,随机获取 k 个元素,生成一个新序列。sample 不改变原来序列。

     random.shuffle(x)把序列 x 中的元素顺序打乱。shuffle 直接改变原有的序列

     

    6.字符串

    l 字符串:一组字符的序列

     

    l 格式:'string‘  or“string”

    (1.          单引号=双引号 2.英文状态输入)

     

    l 带引号字符串:使用不同引号区分

                                ‘You are a "BAD" man’

                               “You are a ‘BAD’ man”

     

    l 三个引号( ‘’‘)或者(""")

     

    ''' #方便使用单引号、双引号

    “What‘s your name?” I asked. #直接换行

    "I'm Han Meimei."

     

    l “”的用法(转义字符)

    1.      I.             ‘  为单引号
    2.   II.            “ 为双引号
    3.   \  为字符串中的
    4.    为字符串中的换行
    5.   V.            tips: “”还可以在代码中换了行

            “this is the   # 输出this is the same line

             same line"

     

    l 字符串格式化

    1.%d 对字符串进行格式化

             num = 18  #%d 会被%后面的值替换

             print 'My age is %d' % num

    2.%f  格式化的数值是小数

            print ‘Price is %f ’ % 4.99

    3.%.2f保留两位小数

           print ‘Price is %.2f ’ % 4.99

    %s 来替换一段字符串

           print 'Today is %s.' % 'Friday'

     

     

    7.与”list”的第一次约会

    l List:   列表   >>处理一组有序项目的数据结构

                            >>元素类型可以不一致

      print range(1,10)  #[1, 2, 3, 4, 5, 6, 7, 8, 9]

    l 操作 list

        1. 访问 list 中的元素

            l = [365, 'everyday', 0.618, True]

            print l[1]   #计算机中的计数通常都是从 0 开始

        2. 修改 list 中的元素          l[0] = 123

        3. 向 list 中添加元素          l.append(1024)

        4. 删除 list 中的元素          del l[0]

     

     

    二、    流程控制

    1.If

    l If  如果是,xxx

    l Else  否则,xxx

    l Elif     否则---否则

     

    a=3

    if a==1:

        print 'one'

    elif a==2:

        print 'two'

    elif a==3:

        print 'three'

    else:

        print 'too many‘ #three

     

    2.While

    while也是我们经常看到的,同 if 一样,while 也是一种控制流语句。

    语法为:

    while 条件:

    循环执行的语句

    举例:

    a = 1  #先将a设为 1

    while a != 0:   #a不等于0就一直循环下面的语句

    print "please input"

    a = input()

    print "over" #直到语句结束输出over

     

    3.For

    l for ... in ...

    #输出1到10

       for i in range(1, 11):#尾部有冒号

           print i#前面有空格,一般3或4个

     

    l for循环的本质:对一个序列中的元素进行递归

    1. 序列:一组有顺序的元素的集合
    2. 递归:函数包含了对其自身的调用

     

    l 小结:for i in range(a, b)

    l 从 a 循环至 b-1for i in range(a, b)  ==从 a 循环至 b-1

     

    4.break、continue

    while  循环 在条件不满足时 结束 ,

    for  循环 遍历完序列后 结束 。

    如果在循环条件仍然满足或序列没有遍历完的时候 , 想要强行跳出循环 , 就需要用到  break

    语句 。

    while True:

    a = raw_input()

    if a == 'EOF':

    break

    *注意:无论是 continue 还是 break,其改变的仅仅是当前所处的最内层循环的运行,如果外

    层还有循环,并不会因此略过或跳出。

    三、    函数

    1. 1.   函数定义

    函数就是一块语句,这块语句有个名字,你可以在需要时反复地使用这块语句。它有可能需要输入,有可能会返回输出。

     

    2.无参数

    def sayHello():#定义函数

         print 'hello world!‘

    sayHello()#调用函数

    3.有参数

    参数:在函数中相当于一个变量

    def sayHello(someone):

         print someone + ' says Hello!‘

    sayHello(‘tom’)#传参数注意参数类型

     

     

    四、    面向对象

    1. 定义:把数据和对数据的操作用一种叫做“对象”的东西包裹起来

     

     

    1. 2.  面向对象的方法

    1. class Car:

    2. speed = 0

    3. def drive(self, distance):

    4. time = distance / self.speed

    5. print time

    6.

    7. car1 = Car()

    8. car1.speed = 60.0

    9. car1.drive(100.0)

    10. car1.drive(200.0)

    11.

    12. car2 = Car()

    13. car2.speed = 150.0

    14. car2.drive(100.0)

    15. car2.drive(200.0)

    16.

    3.总结

    面向过程把数据和处理数据的计算全部放在一起,当功能复杂之后,就会显得很混乱,且容易产生很多重复的代码。

    而面向对象,把一类数据和处理这类数据的方法封装在一个类中,让程序的结构更清晰,不同的功能之间相互独立。这样更有利于进行模块化的开发方式。

     

    五、    正则表达式

    1. 正则表达式就是记录文本规则的代码。
    2. python 中的正则表达式库,所做的事情是利用正则表达式来搜索文本。要使用它,你必须会自己用正则表达式来描述文本规则。
    3. 元字符

     

    ⃰       w - 匹配字母或数字或下划线或汉字(3.x 版本可以匹配汉字,但 2.x 版本不可以)

    ⃰       ^ - 匹配字符串的开始.。[^abcd]就是除 abcd 以外的任意字符。

    ⃰       $ - 匹配字符串的结束 

    ⃰       W - 匹配任意不是字母,数字,下划线,汉字的字符

    ⃰       “d”匹配一个数字字符。等价于 [0-9]。

    ⃰       “D”匹配一个非数字字符。等价于 [^0-9]

     

  • 相关阅读:
    BZOJ 3522 Hotel
    BZOJ 1864 三色二叉树
    396595
    CodeForces
    CodeForces
    CodeForces
    E. 数字串
    算术基本定理总结
    Cyclic Nacklace 杭电3746
    Period
  • 原文地址:https://www.cnblogs.com/jjuiipg2017/p/6825685.html
Copyright © 2011-2022 走看看