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.   \n 为字符串中的换行
  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]

 

posted @ 2017-05-08 16:28  jju_iipg  阅读(318)  评论(0编辑  收藏  举报