Python笔记 Day2

1、流程控制 ——if: (可分为 单分支 和 双分支 )

1   if 条件:                        # 单分支
2       满足条件后要执行的代码
3  
4   if 条件:                         #双分支
5      满足条件执行代码
6   else:
7      if条件不满足就走这段

2、缩进 :

  重中之重,你会发现,上面的if代码里,每个条件的下一行都缩进了4个空格(等于Tab键),这是为什么呢?这就是Python的一大特色,强制缩进,目的是为了让程序知道,每段代码依赖哪个条件,如果不通过缩进来区分,程序怎么会知道,当你的条件成立后,去执行哪些代码呢?

  在其它的语言里,大多通过{}来确定代码块,比如C,C++,Java,Javascript都是用到{}来表示程序的运行步骤……

3、再谈流程控制:

    if...else ...可以有多个分支条件,看例子:

 1 score = int(input("输入分数:"))       # 要求用户输入0-100 的数字,正确打印相应的成绩
 2 
 3 if score > 100:
 4     print("我擦,最高分才100...")
 5 elif score >= 90:
 6     print("A")
 7 elif score >= 80:
 8     print("B")
 9 elif score >= 60:
10     print("C")
11 elif score >= 40:
12     print("D")
13 else:
14     print("太笨了...E")

4.流程控制——while循环:

  4.1、循环中止语句:如果在循环的过程中,因为某些原因,你不想继续循环了,怎么把它中止掉呢?这就用到break 或 continue 语句

    break用于完全结束一个循环,跳出循环体执行循环后面的语句

    continue和break有点类似,区别在于continue只是终止本次循环,接着还执行后面的循环,break则完全终止循环.

1 count = 0       # break 的用法
2 while count <= 100 : #只要count<=100就不断执行下面的代码
3     print("loop ", count)
4     if count == 5:
5         break
6     count +=1 #每执行一次,就把count+1,要不然就变成死循环啦,因为count一直是0
7 
8 print("-----out of while loop ------")      # 这里将会输出 loop 0  -  loop5
9 复制代码
1 count = 0    # continue 的用法
2 while count <= 100 : 
3     count += 1
4     if count > 5 and count < 95: #只要count在6-94之间,就不走下面的print语句,直接进入下一次loop
5         continue 
6     print("loop ", count)
7 
8 print("-----out of while loop ------")      # 这里不会输出 loop 6 - loop 4  

  4.2、 特别的 while……else……:

      与其它语言else 一般只与if 搭配不同,在Python 中还有个while ...else 语句while 后面的else 作用是指,当while 循环正常执行完,中间没有被break 中止的话,就会执行else后面的语句

 1 count = 0
 2 while count <= 5 :
 3     count += 1
 4     print("Loop",count)
 5 
 6 else:
 7     print("循环正常执行完啦")
 8 print("-----out of while loop ------")  # 这里正常输出每一项,且最后输出‘正常循完了’
 9 
10 count = 0            
11 while count <= 5 :
12     count += 1
13     if count == 3:break
14     print("Loop",count)                 # 当 break跳出后很明显走不到else
15 
16 else:
17     print("循环正常执行完啦")
18 print("-----out of while loop ------")      # 最后只执行了前两项

 

 

 

 

 

Python 基础第二部分(基本数据类型)

  三问:1.什么是数据?  ——>   x = 10 , 10 是我们要存的数据

    2.为何数据要分不同的类型?     ——>  数据是用来表示状态的,不同的状态就应该用不同类型的数据表示

    3.数据类型: 数字、 字符串、 列表、 元组、 字典、 集合、布尔

开始深入学习数据类型:

  1. 数字 int

    数字主要是用于计算的,使用方法并不是很多,就记住一个就可以了:

1 #bit_length() 当十进制用二进制表示时,最少使用的位数
2 v = 11
3 data = v.bit_length()
4 print(data)

  2.布尔值bool: 略

  3.字符串str:

    3.1、字符串的索引与切片:运用到索引(下标,注意初始的索引都是0)

1 a = 'ABCDEFGHIJK'
2 print(a[0])        #取第一个字母  A
3 
4 print(a[0:3])          # 以下的都是运用到切片的方法, 注意”骨头不顾尾“ ABC
5 print(a[2:5])
6 print(a[0:])            #默认到最后  或则写为a[:]
7 print(a[0:-1])         #-1就是最后一个 取到前一个,即倒数第二个
8 print(a[0:5:2])         #加步长 C、E
9 print(a[5:0:-2])        #反向加步长

    3.2、 常见的字符串用到的方法:(重点) 1 print(name.capitalize()) #首字母大写 ,其他字母都小写


 2 print(name.swapcase())       #大小写翻转,大写的小写,小写的大写
 3 msg='egon say hi'
 4 print(msg.title()) #每个单词的首字母大写
 5 
 6 # 内同居中,总长度,空白处填充
 7 a1 = "1asasd"
 8 ret2 = a1.center(20,"*")       # 这里必须保证a1是字符串
 9 print(ret2) 
10 
11 #数字符串中的元素出现的个数。
12 # ret3 = a1.count("a",0,4)     # 可切片 后面的是开始位置和结束位置
13 # print(ret3)
14 
15 a2 = "hqw\t"
16 #\t前面的补全
17 # 默认将一个tab键变成8个空格,如果tab前面的字符长度不足8个,则补全8个,如果tab键前面的字符长度超过8个不足16个则补全16个,以此类推每次补全8个。
18 ret4 = a2.expandtabs()
19 print(ret4)
20 
21 a4 = "dkfjdkfasf54"
22 #startswith 判断是否以...开头
23 #endswith 判断是否以...结尾
24 # ret4 = a4.endswith('jdk',3,6)  # 顾头不顾腚
25 # print(ret4)  # 返回的是布尔值
26 # ret5 = a4.startswith("kfj",1,4)
27 # print(ret5)
28 
29 #寻找字符串中的元素是否存在
30 # ret6 = a4.find("fjdk",1,6)
31 # print(ret6)  # 返回的找到的元素的索引,如果找不到返回-1
32 
33 # ret61 = a4.index("fjdk",4,6)
34 # print(ret61) # 返回的找到的元素的索引,找不到报错。
35 
36 #split 以什么分割,最终形成一个列表此列表不含有这个分割的元素。
37 # ret9 = 'title,Tilte,atre,'.split('t')
38 # print(ret9)
39 # ret91 = 'title,Tilte,atre,'.rsplit('t',1)
40 # print(ret91)
41 
42 #format的三种玩法 格式化输出
43 res='{} {} {}'.format('egon',18,'male')
44 res='{1} {0} {1}'.format('egon',18,'male')  # 这里输出的是 18 egon 18
45 res='{name} {age} {sex}'.format(sex='male',name='egon',age=18)
46 
47 #strip
48 name='*egon**'
49 print(name.strip('*'))         # 首位去掉*
50 print(name.lstrip('*'))        # 去掉左边的*
51 print(name.rstrip('*'))
52 
53 #replace
54 name='alex say :i have one tesla,my name is alex'
55 print(name.replace('alex','SB',1))     # 替换一次
56 
57 #####is系列
58 name='jinxin123'
59 print(name.isalnum()) #字符串由字母或数字组成
60 print(name.isalpha()) #字符串只由字母组成
61 print(name.isdigit()) #字符串只由数字组成

    一些漏网之鱼:

    各种数据类型的心腹:join的用法:

 1 #对序列进行操作(分别使用' '与':'作为分隔符)
 2   
 3 >>> seq1 = ['hello','good','boy','doiido']
 4 >>> print ' '.join(seq1)
 5 hello good boy doiido
 6 >>> print ':'.join(seq1)
 7 hello:good:boy:doiido
 8   
 9   
10 #对字符串进行操作
11   
12 >>> seq2 = "hello good boy doiido"
13 >>> print ':'.join(seq2)
14 h:e:l:l:o: :g:o:o:d: :b:o:y: :d:o:i:i:d:o
15   
16   
17 #对元组进行操作
18   
19 >>> seq3 = ('hello','good','boy','doiido')
20 >>> print ':'.join(seq3)
21 hello:good:boy:doiido
22   
23   
24 #对字典进行操作
25   
26 >>> seq4 = {'hello':1,'good':2,'boy':3,'doiido':4}
27 >>> print ':'.join(seq4)
28 boy:good:doiido:hello
29   
30   
31 #合并目录
32   
33 >>> import os
34 >>> os.path.join('/hello/','good/boy/','doiido')
35 '/hello/good/boy/doiido'

  当然还有:expandtabs() 方法把字符串中的 tab 符号('\t')转为空格,tab 符号('\t')默认的空格数是 8。

从头开始数,数到第一个\t正好为8个空格,不足则补空格,如果还有\t,接着从第一个\t数到第二个\t仍然为8个空格,以此类推直到最后一个\t结束。

1 S = "this is\tstring example....wow!!!"
2  
3 print ("原始字符串: " + S)                   # 原始字符串: this is     string example....wow!!!
4 print ("替换 \\t 符号: " +  S.expandtabs())  # 替换 \t 符号: this is string example....wow!!!
5 print ("使用16个空格替换 \\t 符号: " +  S.expandtabs(16))   # 使用16个空格替换 \t 符号: this is         string example....wow!!!

  4、 元组 tuple:

     元组被称为只读列表,即数据可以被查询,但不能被修改,所以,字符串的切片操作同样适用于元组。例:(1,2,3)("a","b","c")

  5、列表 list:

      类似于li = [‘alex’,123,Ture,(1,2,3,’wusir’),[1,2,3,’小明’,],{‘name’:’alex’}]下面主要讲以下列表的增删改查:

      5.1、增:

 1 li = [1,'a','b',2,3,'a']
 2 # li.insert(0,55) #按照索引去增加
 3 # print(li)
 4 #
 5 # li.append('aaa') #增加到最后
 6 # li.append([1,2,3]) #增加到最后
 7 # print(li)
 8 #
 9 # li.extend(['q,a,w']) #迭代的去增 ,括号里面是一个可迭代对象,每一个对象都加进去了
10 # li.extend(['q,a,w','aaa'])
11 # li.extend('a')
12 # li.extend('abc')
13 # li.extend('a,b,c')
14 # print(li)

      5.2、删:

 1 # l1 = li.pop(1) #按照位置去删除,有返回值
 2 # print(l1)
 3 
 4 # del li[1:3] #按照位置去删除,也可切片删除没有返回值。
 5 # print(li)
 6 
 7 # li.remove('a') #按照元素去删除
 8 # print(li)
 9 
10 # li.clear() #清空列表

        5.3、改:

 1 # l1 = li.pop(1)  #按照位置去删除,有返回值
 2 # print(l1)
 3 
 4 # del li[1:3]  #按照位置去删除,也可切片删除没有返回值。如果 del li, 则再一次打印时会报错
 5 # print(li)
 6 
 7 # li.remove('a')  #按照元素去删除
 8 # print(li)
 9 
10 # li.clear()  #清空列表

      5.4、查:就一个遍历即可

1 for el in list:
2                 el

  其他的操作:count、index、sort、reverse

1 a = ["q","w","q","r","t","y"]
2 print(a.count("q"))       #  count 统计 某元素出现的次数

1 a = ["q","w","r","t","y"]
2 print(a.index("r"))     #  index 找出某个值第一个匹配项的索引位置

# sort() 用于再原位置对列表进行排序  如果要反序,则在括号例打 reverse = True

1 a = [2,1,3,4,5]
2 a.sort()   # 他没有返回值,所以只能打印a
3 print(a)
4 a.reverse()   #他也没有返回值,所以只能打印a
5 print(a)

    

 

 

 

 

 

 

猜你喜欢

转载自www.cnblogs.com/double-W/p/9404407.html