zoukankan      html  css  js  c++  java
  • python学习笔记(2)

    这段时间学习遇到了一些问题,所以决定还是看一下书,第一本书《Python编程快速上手---让繁琐工作自动化》

    第一章:Python基础

    ---------------------------------------------

      1.数学操作符,优先级从高到底

        **(指数)--->%(取模/取余数)--->//(取整/商数取整)--->/(除法)--->*(乘法)--->-(减法)--->+(加法)

      2.整形、浮点型和字符串类型

        (1)整形:-1,-2

        (2)浮点型 : -1.25

          (3)字符串:  'a','b','str'(错误信息:SyntaxError: EOL while scanning string literal可能是忘记了字符串的单引号)

      3.字符串连接和复制:+号用于连接两个字符串,称为字符串连接操作符

        (1)'Alice'+43报错:TypeError: can only concatenate str (not "int") to str

          表示将一个整数连接到一个字符串,必须将整数显式的将转换为字符串,然后再进行相关的连接,因为Python不能够自动转换

        (2)*用于两个整形或者浮点型的时候,表示乘法。但是*用于一个字符串和一个整形值的时候,它就变成了字符串的复制操作。如'alice'*5,'pythonpythonpythonpythonpython'在进行乘法之后变成了一个大的字符串

        4.在变量中保存值

          (1)赋值语句

          (2)变量名

        5.程序剖析

          (1)注释:#

          (2)print()函数

          (3)input()函数,等待用户在键盘上输入一些文本并按下回车键

            myName=input(),这个函数值为一个字符串,即用户输入的 文本。

          (4)打印用户的名字

            print('It is good to meet you,'+myname)

          (5)len()函数,可以向len()函数传递一个字符串(或者包含字符串的变量),然后该函数求值为一个整数值,就是字符串的个数

            print('the length of your name is:',+len())

           (6)str(),int()和float()函数

            str()函数将一个整数转换为str字符串类型:str(12),将一个数字转换为字符串的类型。str(29)===>'29';input()函数总是将输入的值转换为字符串,如果想进行相关值的计算,那就需要用到int()函数取得'29'的整数形式

    第二章:控制流     

      1.布尔值的两种类型;True和False。Boolean首字母要大写 

      2.比较操作符:比较两个值,最后返回的是一个布尔值

        ==    等于

        !=    不等于

        <    小于

        >    大于

        <=    小于等于

        >=    大于等于

        如果两边的值一样,==(等于)求值为True。如果两边的值不同,!=(不等于),求值为True,整形或者浮点型的值永远不会与字符串类型的值相等,所以'42'==42求值最后的结果为False.

      3.==操作符问两个值是否彼此相等,=操作符将右边的值放到左边的变量中来

      4.布尔操作符:

      5.not操作符

      6.混合布尔和比较操作符

      7.控制流的元素

      8.程序执行

      9.控制流语句    

        (1)if语句包含以下部分:

           if关键字

           条件(即求值为True或者False)

           冒号:

           在下一行开始,缩进的代码块

           eg: if name=='Alice':

              print('Hi,Alice')

          (2)else关键字

            if语句后面有时候可以跟着else语句。只有if语句的条件为False的时候,else语句才会被执行。

          else语句包含以下几个部分:

            else关键字:

            冒号:

            在下一行开始,缩进的代码块

          (3)elif:elif总是跟在if或者另外一条elif语句的后面,提供了另一个条件,仅在前面的条件为False的时候才会检查条件

          elif关键字:

            条件(即求值为True或者False的表达式)

            冒号:

            在下一行开始,缩进的代码块(称之为elif字句)      

    if name=='Alice':
        print('Hi ,Alice.')
    elif age<12:
        print('You are not Alice,kiddo')
    elif age>2000:
           print('Unlike you,......')
    elif age>100:
        print('You are not Alice,grannie')

        10.while循环语句

          while语句包含下面几个部分:

          关键字:

          条件(求值为True或者False的表达式);

          冒号:

          从新行开始,缩进代码块(称之为while子句)

        11.break语句

          跳出while循环的一条捷径是break子句。如果执行遇到break语句,就会马上退出while循环语句,在代码中,break语句仅仅包含break关键字。    

    while True:
        print('please type your name:')
        name=input()
        if name=='your name':
            break
    print('Thank you!')

        (1)第一行创建了一个无限循环,它是一个条件总为True的while循环(表达式True总是表示求值为True)。程序执行的时候总是进入循环,只有遇到break的时候语句执行的时候才会退出

        12.continue语句:与break语句一样,continue语句用于循环的内部,如果程序执行遇到了continue语句,就会马上回到循环的开始处,重新对循环条件求值

    while True:
        print('who are you')
        name=input()
        if name!='joe':
            continue
        print('hello joe  ,what is the password?(It is a fish)')
        password =input()
        if password== 'swordfish':
            break;
    print('Access granted.')

    这个地方如果用户输入的名字不是Joe,那么continue语句就会执行跳回到循环开始的地方。再次对条件求值的时候,执行总是进入循环,因为条件是True。如果执行通过了 if 语句,用户就被要求输入口令。如果输入的口令是 swordfish,break 语句运行,执行跳出 while 循环,打Access granted。否则,执行继续到 while 循环的末尾,又跳回到循环的开始。

        13.for循环和range()函数。在条件为True的时候,while会进入死循环,如果想让代码块执行固定的次数,可以通过for循环和range()函数来实现其执行的次数。在用于条件时,0,0.0和''被认为是False,其他的值被认为是True

    name=''
    while not name:
        print('Enter your name:')
        name=input()
        print('how many guests will you have?')
        numOfGuests=int(input())
        if numOfGuests:
            print('Be sure to have enough room for all your guests.')
        print('Done')

      在代码中,for语句看起来像for i in range(5):这样,总是包含以下的部分

      for关键字:

      一个变量名:

      in关键字:

      调用range()方法,最多传入3个参数

      冒号:

      从下一行开始,缩退的代码块(称为for子句)

    for循环与while循环等价的情况

    print('my name is ')
    for i in range(5):
        print('Jimmy Five Times('+str(i)+')')

    返回的结果:

    my name is
    Jimmy Five Times(0)
    Jimmy Five Times(1)
    Jimmy Five Times(2)
    Jimmy Five Times(3)
    Jimmy Five Times(4)

    print('myname is :')
    i=0
    while i<5:
    print('Jimmy Five Times('+str(i)+')')#str()是将整数值转换为字符串
    i=i+1

      14.range()函数的而开始、停止和步长参数

        range()函数可以用多个函数进行相关的调用,参数之间用逗号进行分开

        range()函数第一个参数是开始的值,第二个参数是上限,但是这个上限是不被包含在内的  

    for i in range(5):
        print(i)
    //这个循环最后打印的是0,1,2,3,4

        range()函数也可以有第三个参数,前面两个参数分别是起始值和终止值,第三个参数是步长。步长是每次迭代后循环变量增加的值

    for i in range(0,10,2):
        print(i)

    最后返回的是0,2,4,6,8

        在for循环生成的序列的方面,range()函数比较灵活,可以使用负数作为步长,然循环计数逐渐减少,而不是在增加

    for i in range(5,0,-2):
        print(i)
    返回的值是:5,3,1

        15.导入模块

        (1)内建函数:包括print(),input(),len()等函数

        (2)在开始使用一个模块之前,必须用import语句进行该模块的导入,在代码中,使用import语句,其中,import语句包含以下几个部分:

        import 关键字

        模块名称

        可选的更多模块的名称,之间用逗号进行隔开

    import random
    for i in range(5):
        print(random.randint(1,10))

        random.randint()函数调用求值为传递给他的两个整数之间的一个随机数。因为randint()属于random模块,必须在函数名称之前加上random,告诉python在random模块中寻找这个函数

        16.import random,sys,os,math,导入了4个不相同的模块

        17.from import 语句

          import 语句的另一种形式包括from关键字,之后是模块的名称,import关键字和一个星号,如:from random.import*。

        18.用sys.exit()提前结束程序。因为这个函数在sys模块中,所以必须先导入sys模块,才能适用这个。

    import  sys
    while True:
        print('Type exit to exit.')
        response=input()
        if response=='exit':
            sys.exit()
        print('You typed'+response+'.')

    #这是一个死循环,里面没有break语句,结束的唯一方式是用户输入exit,导致sys.exit()被调用

        

        

  • 相关阅读:
    Spark学习(一)Spark初识
    service mysqld restart mysqld: 未被识别的服务
    Spark学习(二)Spark 版本 WordCount
    java.sql.SQLException: Incorrect string value: '\xE4\xB8\xAD\xE9\x83\xA8' for column 'area' at row 1
    centos 6.8 yum源不可用安装报YumRepo Error: All mirror URLs are not using ftp, http[s] or file
    互联网运维装腔指南
    PHP生成一段时间之间的月份列表
    sql根据分组后排序取第一条数据
    sql 多行拼接 成一行
    js 常用汇总
  • 原文地址:https://www.cnblogs.com/bigdata-stone/p/9773939.html
Copyright © 2011-2022 走看看