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()被调用

 

    

 

    

posted @ 2018-10-11 17:40  stone1234567890  阅读(454)  评论(0编辑  收藏  举报