python学习day05
三个引号:①打印多行②注释
集成开发环境(IDE)
①VIM:经典的linux下的文本编辑器
②Emacs:文本编辑器,比VIM更容易使用,linux
③Eclipse:java IDE,支持python,c,c++
④Visual Studio:微软的IDE
⑤notepad++,sublime(python开发的)
⑥pycharm:主要用于python开发的IDE
Pycharm:
①code template:创建python时自动生成开头作者以及日期,"#"后面跟空格,截图有错误
# __author: ${USER} # date: ${DATE}
字符串格式化的输出:
name = input("Name:") age = input("Age:") job = input("Job:") salary = input("Salary:") msg = ''' ----- info is %s ------ Name: %s Age: %s Job: %s Salary: %s --------- end --------- ''' % (name,name,age,job,salary) print(msg)
占位符
# %s: s == string
# %d: d == digit
# %f: f == float 浮点数, 约等于小数
整型,长整型表示数字大小不一样,python3中不区分,python2中才区分
布尔:只有两种状态
①真true
②假false
标志位:flag
username_true = "igenius" password_true = "123456" pass_authentication = False # flag = 标志位 for i in range(3): username = input("username=") password = input("password=") if username == username_true and password == password_true: print("welcome") pass_authentication = True break#跳出,中断 else: print("Incorrect username or password! Please try again") if not pass_authentication: exit(" inhibiting input")
for循环后的else:
username_true = "igenius" password_true = "123456" for i in range(3): username = input("username=") password = input("password=") if username == username_true and password == password_true: print("welcome") break#跳出,中断 #break, for后面的else不会执行 else: print("Incorrect username or password! Please try again") else: #只要for循环正常执行完毕,中间没有被打断(即没有被break),就会执行else语句 exit(" inhibiting input")
while循环后的else:
username_true = "igenius" password_true = "123456" counter = 0 while counter < 3: username = input("username=") password = input("password=") if username == username_true and password == password_true: print("welcome") break#跳出,中断 #若while被break,则后面的else不会被执行 else: print("Incorrect username or password! Please try again") counter += 1 else: #只要while循环正常执行完毕,中间没有被打断(即没有被break),就会执行else语句 exit(" inhibiting input")
Debug模式:添加断点以及查看数据等
break,continue
exit_flag = False for i in range(10): if i > 5: continue # continue 跳出当前一级循环的当次循环 print(i) for j in range(10): print("level2", j) if j > 3: exit_flag = True break # break 只能跳出当前一级的整个循环,不能跳出上一级的循环 if exit_flag: break # 通过标志位,可以在j>3的时候跳出该级循环,即实现了当j>3跳出了两级循环
列表list:增删查改
a = ["zhao", "qian", "sun", "li", "zhou", "wu", "zheng", "wang"] # 查 # 冒号为切片slice print(a[2]) print(a[2: 6]) # 左包括,右不包括,结果有a[2],没有a[6] print(a[2:]) # 冒号后面为空即为查询到最后一个 print(a[2: 7: 1]) # 1为步长,默认即为1,从左向右一个接一个的查询 print(a[2: 7: 2]) # 2为步长,默认为1,从左向右一个隔一个的查询 print(a[2: 7: -1]) # -1为步长,其中"-"指从右向左,但是此时起始位置必须比结束位置大,否则查询为空 print(a[7: 2: -1]) # 起始位置必须比结束位置大,否则查询为空 print(a[7:: -1]) # 结束位置为从右向左的最后一个,即从左向右的第一个a[0] print(a[2: -1: 1]) # -1为倒数第二个 # 添加 # append:直接加到列表最后一个 # insert:可以添加到任意位置 a.append("feng") print(a) a.insert(1, 'chen') print(a) # 修改 # 先查找出来再直接赋值 a[2] = 'chu' print(a) a[1:3] = ['qian'] print(a) # 删除 # remove:删除内容,把括号内的XX元素删除,只删除,不会返回删除的值 # pop:通过索引删除列表中的数据,并且返回删除的数据 # del:和列表没有关系,包含一切的删除 a.remove('feng')# remove不能切片,即不能同时删除多个,只能将括号内作为一个整体删除 a.remove(a[0]) print(a) pop_test = a.pop(2) print(a) print(pop_test) del a[3] print(a) # del a # 直接将a对象从内存中删除了 # print(a) # 此时再打印a则会报错,因为内存中已经没有对象a # NameError: name 'a' is not defined
列表的常用函数,方法,功能,其中包含index查询重复元素、数据索引(下标)的方式,若查询多个,将方法循环即可
a = [4, 2, 6, 8, 2, 4, 5, 9, 0] c = [1, 4, 3] b = a.count(2) # 查询数据2在列表a中出现的次数 print(b) a.extend(c) # 将列表c添加到列表a中 print(a) print(a.index(2)) # 查询某一个数据在列表中的索引 # 列表中若有重复数据,只能查询第一个数据的索引(下标) # 若想查询第二个或者第三、第四个…… # 先查询出第一个,通过切片,将第一个后面的切成一个小列表,再查询第二个在小列表中的索引, # 再通过第一个在大列表的索引+第二个在小列表的索引 得出第二个在大列表中的索引 # 具体代码实现如下 print(a) # 输出[4, 2, 6, 8, 2, 4, 5, 9, 0, 1, 4, 3] # a列表即为big list # 切片出来的列表为little list first_index_in_big_list = a.index(2) little_list = a[first_index_in_big_list+1:] # 如果不加一切片出来的列表将包含第一个2 # 若不加1,切片的list为[2, 6, 8, 2, 4, 5, 9, 0, 1, 4, 3] print(little_list) second_index_in_little_list = little_list[2] second_index_in_big_list = first_index_in_big_list + 1 + second_index_in_little_list print(second_index_in_big_list) print(a) # [4, 2, 6, 8, 2, 4, 5, 9, 0, 1, 4, 3] a.reverse() # 将列表颠倒 print(a) # [3, 4, 1, 0, 9, 5, 4, 2, 8, 6, 2, 4] a.sort() # 默认为按照ASCII排序,从小到大[0, 1, 2, 2, 3, 4, 4, 4, 5, 6, 8, 9] print(a) a.sort(reverse=True) # reverse表示颠倒方向,默认为FALSE,改成TRUE则将从小到大颠倒排序,从大到小 print(a) # [9, 8, 6, 5, 4, 4, 4, 3, 2, 2, 1, 0]
a.clear() # 将列表清空
# 判断对象是否是列表
print(type(a) is list)
# 返回TRUE