第二章 变量和简单数据类型 2.1 输出一个hello world
2.2 变量的定义 1 2 3 4 5 num1 = 1 num2 = 1.0 str1 = 'abcd' str2 = "abcd" bool1 = True
直接用 变量名=变量值 来定义,系统自动检测变量的类型
2.3.1 使用方法修改字符串的大小写(title,upper,lower) 1 2 3 4 name = "i loVe pYthon" print(name.upper()) print(name.lower()) print(name.title())
2.3.2 合并字符串(str + str) 1 2 3 4 5 6 7 first_name = "abc" last_name = "def" name = first_name + last_name print(name) ================ 运行结果 ================ abcdef >>>
2.3.4 删除空白(str.strip() str.lstrip() str.rstrip() ) 1 2 3 4 5 6 7 8 9 c = " python " print("." +c.rstrip()+"." ) print("." +c.lstrip()+"." ) print("." +c.strip()+"." ) ================ 运行结果 ================ . python. .python . .python. >>>
第三章 列表简介 3.1 建立并访问列表 1 2 3 arr = ['a' ,'b' ,'c' ] print(arr[0 ]) print(arr[-2 ])
3.2 修改添加和删除元素 1.修改元素
1 2 3 s = ["abc" ,"def" ] s[0 ] = "ghi" >>>
2.添加元素(添加append、插入insert)
1 2 3 4 5 6 7 8 s = ["a" ,"b" ,"c" ,"d" ] s.append("添加了e" ) s.insert(1 ,"插入了python" ) print(s) ============= RESTART: C:\Users\Administrator\Desktop\python.py ============= ['a' , '插入了python' , 'b' , 'c' , 'd' , '添加了e' ] >>>
3.删除元素
1 2 3 4 5 s = ["a" ,"b" ,"c" ,"d" ] del s[0 ] temp1 = s.pop() temp2 = s.pop(1 ) s.remove('b' )
3.3 组织列表(永久排序,临时排序,永久反转,确定长度) 1 2 3 4 5 6 arr = [2 ,1 ,3 ,4 ,5 ] arr.sort() arr.sort(reverse=True ) print(arr.sorted) arr.reverse() lenth=len(arr)
第四章 操作列表 4.1 遍历列表(for语句) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ss = ['ab' ,'cd' ,'ef' ] for s in ss: print('进入循环' ) print(s) print("Thanks" ) ============= RESTART: C:\Users\Administrator\Desktop\python.py ============= 进入循环 ab 进入循环 cd 进入循环 ef Thanks >>>
1.第二行代码让python从列表ss中依次取出一个元素,并将其储存在s变量中 2.在代码行for s in ss:后面缩进的代码行都是循环的一部分
4.3 创建数字列表 1.使用range()函数
1 2 3 4 5 6 7 8 for value in range(1 ,5 ): print(value) ============= RESTART: C:\Users\Administrator\Desktop\python.py ============= 1 2 3 4 >>>
实际上range()函数返回一个临时的列表
2.用list()将range()的结果转换为列表
1 2 3 4 5 numbers = list(range(1 ,5 )) print(numbers) ============= RESTART: C:\Users\Administrator\Desktop\python.py ============= [1 , 2 , 3 , 4 ] >>>
3.创建一个包含前10个整数平方的列表
1 2 3 4 5 6 7 arr = [] for value in range(1 ,11 ): arr.append(value**2 ) print(arr) ============= RESTART: C:\Users\Administrator\Desktop\python.py ============= [1 , 4 , 9 , 16 , 25 , 36 , 49 , 64 , 81 , 100 ] >>>
value2表示value的平方,同理value\ n代表value的n次方
4.对数字进行简单的统计计算(min,max,sum函数)
1 2 3 4 5 6 7 >>> digits = [1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 ]>>> min(digits)1 >>> max(digits)10 >>> sum(digits)55
5.列表解析(一行代码生成 前10个整数平方的 列表)
1 arr = [value**2 for value in range(1 ,11 )]
for value in range(1,11)语句依次对value赋值
4.4 使用列表的一部分(切片) 1.切片
1 2 3 4 5 6 7 8 9 >>> ss = ['a' ,'b' ,'c' ,'d' ,'e' ,'f' ]>>> print(ss[1 :3 ]) ['b' , 'c' ] >>> print(ss[:3 ]) ['a' , 'b' , 'c' ] >>> print(ss[1 :]) ['b' , 'c' , 'd' , 'e' , 'f' ] >>> print(ss[-2 :]) ['e' , 'f' ]
2.遍历切片
1 2 3 4 5 6 >>> ss = ['a' ,'b' ,'c' ,'d' ,'e' ,'f' ]>>> for temp in ss[1 :4 ]:>>> print(temp)b c d
3.复制列表
1 2 3 ss = ['a' ,'b' ,'c' ,'d' ,'e' ,'f' ] temp1 = ss[:] temp2 = ss
temp1 = ss[:]为值的复制,若修改temp1,ss不会受到影响 temp2 = ss为地址的复制,相当于C++中的创建引用。若修改temp2,那么ss也会被修改
4.5 元组(不可变的列表) 1 2 3 4 5 6 7 8 9 10 arr = (1 ,2 ,3 ,4 ) print(arr[0 ]) for temp in arr: print(temp) arr1 = (1 ,2 ) arr1[0 ] = 2 × arr1 = (3 ,4 ) √
第五章 if语句 5.1 基本句法 1 2 3 4 5 6 7 8 9 10 11 old = 18 if old<2 : print("婴儿" ) elif old>=2 and old<4 : print("蹒跚学步" ) elif old>=4 and old<13 : print("儿童" ) elif old>=13 and old<18 : print("青少年" ) else : print("成年人" )
5.2 用if检查列表中是否有某一个元素 1 2 3 4 5 ss = ['a' ,'b' ,'c' ] if 'a' in ss: print("YES" ) else : print("NO" )
‘a’ in ss 如果a能在ss列表中找到,那么就返回True
5.3 确定列表不是空的 1 2 3 4 5 6 >>> ss = []>>> if ss:>>> print("不是空的" )>>> else :>>> print("是空的" )是空的
第六章 字典 6.2 使用字典 1.字典的定义
1 dic = {'name' :'Amy' ,'age' :18 }
2.访问字典中的值(以1的定义为例)
字典是一系列 键-值对 ,与键相关联的可以是 数字、字符串、列表甚至字典(任何python对象都可以与其相关联)
3.添加 键-值对
1 2 dic = {'name' :'Amy' ,'age' :18 } dic['score' ] = 100
添加’score’-100键-值对到字典的最后面
4.修改字典中的值
1 2 dic = {'name' :'Amy' ,'age' :18 } dic['name' ] = 'Tom'
5.删除键-值对
1 2 3 4 5 6 dic = {'name' :'Amy' ,'age' :18 } del dic['name' ]print(dic) ============= RESTART: C:\Users\Administrator\Desktop\python.py ============= {'age' : 18 } >>>
6.3 遍历字典 1.遍历所有的键-值对(用items()方法)
1 2 3 4 5 6 7 8 9 10 11 12 13 dic = { 'name' :'Amy' , 'age' :18 , 'score' :100 } for key,value in dic.items(): print(key + ':' + str(value)) ============= RESTART: C:\Users\Administrator\Desktop\python.py ============= name:Amy age:18 score:100 >>>
1.dic.items() 分别将键与值赋值给key与value 2.str(value)将数值强制转换为字符型,才可以用+运算符
2.遍历字典中所有的键(keys()方法)与值(values()方法)
1 2 for key in dic.keys():for value in dic.values():
遍历键也可以不用keys,直接for key in dic:,但是用keys方法更容易被理解
3.按顺序遍历字典中所有的键
1 for key in sorted(dic.keys()):
使用sorted函数将dic的键列表暂时排序
4.用set()函数去重
1 2 3 4 5 6 7 dic = {1 :'a' ,2 :'b' ,3 :'a' } for value in set(dic.values()): print(value) ============= RESTART: C:\Users\Administrator\Desktop\python.py ============= a b >>>
6.4 嵌套 P93:有时候,需要将一系列字典存储在列表里,或将列表作为值存储在字典里,这称为嵌套 (略)
第七章 用户输入和while循环 1 2 3 4 5 6 7 name = input("Enter your name: " ) name = 'Hello ' + name print(name) ============= RESTART: C:\Users\Administrator\Desktop\python.py ============= Enter your name: Tom Hello Tom >>>
7.2 while循环简介 1 2 3 4 i = 1 while i<=5 : print(i) i+=1
while语句内部也可以用continue和break,规则与C++相同
第八章 函数 8.1 定义函数 python莫得数据类型(好吧,是弱化了),所以不需要
1 2 3 4 def show () : '''文档字符串,可以用来描述函数功能''' print('Hello World' ) show()
8.2 传递实参 1 2 3 4 5 6 7 8 9 10 def add (a=-1 ,b=-1 ) : '''返回两数之和''' return str(a+b) print(add()) print(add(1 ,1 )) print(add(b=2 ,a=2 ))
8.4 传递列表 1 2 3 4 5 6 def fun (lists) : lists[0 ] = 666 for list in lists: print(list) a = [1 ,2 ,3 ,4 ] fun(a)
如果要禁止函数修改列表的话,可以用function_name(list_name[:]
的方式进行调用
1 2 3 4 5 6 def fun (lists) : lists[0 ] = 666 a = [1 ,2 ,3 ,4 ] fun(a[:]) for temp in a: print(temp)
8.5 传递任意数量的实参 形参名*names
中的星号让python创建一个名为name
的空元组
1 2 3 4 5 6 7 def fun (*names) : '''打印若干名字''' print(names) fun("张三" ,"李四" ,"王五" ) ============= RESTART: C:\Users\Administrator\Desktop\python.py ============= ('张三' , '李四' , '王五' )
*name
必须放在形参的最后位置 程序会先处理位置实参
与关键字实参
,余下的实参都被收集到*name
中
1 2 3 4 5 6 7 8 def fun (school,department,*names) : print(school+" " +department) print(names) fun("家里蹲大学" ,"计算机学院" ,"张三" ,"李四" ,"王五" ) ============= RESTART: C:\Users\Administrator\Desktop\python.py ============= 家里蹲大学 计算机学院 ('张三' , '李四' , '王五' )
加两个星号**
还可以让python创建一个空字典
1 2 3 4 5 6 7 8 def fun (name,age,**others) : '''将名字和年龄对应''' map = {} map[name] = age for key,value in others.items(): map[key] = value print(map) fun("张三" ,19 ,李四=18 ,王五=20 )
8.6 将函数存储在模块中 (python中的”头文件”) python模块类似于C++的头文件 比如:
C:\Flying\module.py
1 2 3 4 5 6 def fun1 () : print("fun1" ) def fun2 () : print("fun2" ) def fun3 () : print("fun3" )
在同目录下有另一个py文件 用import module
的方式导入module.py
的函数 用模块名.函数名()
的方式进行调用
1 2 3 4 5 6 7 8 9 import modulemodule.fun1() module.fun2() module.fun3() ============= RESTART: C:\Users\Administrator\Desktop\python.py ============= fun1 fun2 fun3
还可以导入模块中特定的函数from 模块名 import 函数名
1 2 from module import fun1fun1()
也可以取别名from 模块名 import 函数名 as 函数别名
1 2 from module import fun1 as ff()
给模块指定别名import 模块名 as 模块别名
1 2 import module as mm.fun1()
甚至可以直接导入模块中的所有函数from 模块名 import *
1 2 3 4 from module import *fun1() fun2() fun3()