python基础复习(一)详细版

python基础-Let’s一起来复习吧!

先来了解下几个概念:

  1. 首先,python是一种编程语言,那么什么是编程语言呢?—.> 答案是 用来定义计算机程序的形式语言,即简单来说就是 人类与计算机进行交流的语言。

  2. python有什么优缺点呢?
    优点:python是一门 简单、易学、免费开源、高层语言、可移植性、可拓展性强、面向对象的解释性语言并且包含了丰富的库。代码规范采取强制缩进,因此可读性强。
    缺点:执行效率慢,解释型语言都普遍存在的。(想知道原因吗?—>瞅瞅看)

  3. 应用场景:
    web应用开发、操作系统管理、服务运维的自动化脚本、网络爬虫、科学计算、桌面软件、服务器软件、游戏、产品迭代。

开始😁

注释

why? 为了给某些代码进行批注,增强程序可读性。
单行注释---> #
多行注释--->''' '''

变量及类型(type)

变量就是用来存储数据的一个容器;
变量类型有:数字(Numbers)、布尔(boolean)、字符串(String)、列表(List)、元组(Tuple)、字典(Dictionary);其中数字包括int、long、float、complex;布尔包括True、False。

标识符和关键字

标识符是由字母、数字、下划线 构成的,且数字不能	开头。不能使用关键字和内置函数名,区分大小写。
命名规则:遵循PEP8标准,有小驼峰、大驼峰、下划线 式命名法。
关键字是一些具有特殊功能的标识符,python内部已经在使用的,开发者不可重名。可通过查看
>>> import keyword
>>> keyword.kwlist

输入输出

输入:input()
输出:print() --->格式化输出 %  \  换行输出:\n
	常用的有:%s 字符串、%d 整数输出

运算符

算数运算符(+、-、*、/、//、%、**)、赋值运算符(=)、复合赋值运算符(+=...)

判断语句

**if判断语句**
if 要判断的条件:
		条件成立时,要做的事情
-----------------------------
if 条件:
	执行语句
else:
	否则
-----------------------------
if 条件:
	执行语句
elif 条件:
	执行语句
else:
	否则

比较(关系)运算符

**==、!=、>、<、>=、<=**

逻辑运算符

**and、or、not**

if嵌套

if 条件1:
		
		满足条件1 做的事情1
		满足条件1 做的事情2

		if 条件2:
			满足条件2 做的事情1
			满足条件2 做的事情2

循环

	i = 0
	while i < 10000:
		print("媳妇儿,我错了")
		i += 1
----------------------------------
	while 条件:
		条件满足时,做的事情1
		条件满足时,做的事情2
		条件满足时,做的事情3
		...(省略)...
------------------------------------
计算1-100之间的偶数累计和:
	i = 1
	sum = 0
	while i <= 100:
		if i % 2 == 0:
			sum = sum + i
		i+=1
	
	print("1~100的累积和为:%d" % sum)
------------------------------------
while嵌套的格式
	while 条件1:
		
		条件1满足时,做的事情1
		条件1满足时,做的事情2
		条件1满足时,做的事情3
		...(省略)...

		while 条件2:
			条件2满足时,做的事情1
			条件2满足时,做的事情2
			条件2满足时,做的事情3
			...(省略)...
-------------------------------------
九九乘法表
	i = 1
	while i<=9:
	    j=1
	    while j<=i:
	        print("%d*%d=%-2d " % (j, i, i*j), 	end = '')
	        j+=1
	    print('\n')
	    i+=1

break 和 continue

在循环体中,break结束当次(最近的一层)循环;continue跳过当次循环

for循环

for 临时变量 in 列表或者字符串等可迭代对象:
    循环满足条件时执行的代码

字符串

1.含义:双引号或者单引号中的数据,就是字符串
2.字符串输出输入同上
3.下标(索引)和切片:
str = “h e l l o w o r l d”
下标	   0 1 2 3 4 5 6 7 8 9

#切片的语法:[起始:结束:步长] 包括起始位,不包括结束位
	字符串、列表、元组都支持切片操作
	字符串反转 [::-1]

字符串常见操作

find :查找元素下标--->找不到 返回-1
index :查找元素下标 ---> 产生异常
count :元素出现次数
replace :替换
split :分隔符
capitalize :首字符大写
title :每个单词首字母大写
join :构造字符串
......

列表

列表循环
for:
namesList = ['xiaoWang','xiaoZhang','xiaoHua']
	for name in namesList:
		print(name)
while:
	namesList = ['xiaoWang','xiaoZhang','xiaoHua']

	length = len(namesList)

	i = 0

	while i<length:
		print(namesList[i])
		i+=1
列表相关操作:
1. 添加元素(append、extend(拆分添加)、insert(插入添加))
2. 修改 `list =['hello world'] --->list[0] = 'A' --->'Aello world'`
3. 查找 (in, not in, index, count)
4. 删除 (del, pop, remove)
	列表元素的常用删除方法有:
	del:根据下标进行删除
	pop:删除最后一个元素
	remove:根据元素的值进行删除
5.排序(sort,reverse)

元组

元组是不能修改的,并且不能删除,可查
>>> a = ('a', 'b', 'c', 'a', 'b')
>>> a.index('a', 1, 3) # 注意是左闭右开区间
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: tuple.index(x): x not in tuple
>>> a.index('a', 1, 4)
3
>>> a.count('b')
2

字典

字典是 {key:value} 的格式通过key去进行操作
info = {'name':'班长', 'id':100, 'sex':'f', 'address':'地球亚洲中国北京'}

print(info['name']) # 查看 name 值 班长
info['name'] = '小兵' # 修改
info['age'] = 18 # 添加
del info['sex'] # 删除
info.clear() # 清空字典
其他常见操作
1. 查看字典长度(个数)---> len()
2. 以列表的形式返回所有key ---> keys()
3. 以列表形式返回所有值 ---> values() 
4. 以列表包含元组的形式返回所有的键值对 ---> items()

遍历

for...in... 
字符串、列表、元组、字典都可进行遍历
其中字典可以有多种遍历的方式
	dict = {"name":“xiaoming”,"age":"18"}
  • keys() 通过键遍历for key in dict.keys():
  • values() 通过值遍历for value in dict.values():
  • items() 通过元素遍历for item in dict.items(): 元组的形式
  • key,value通过键值对遍历for key,value in dict.items(): key=value的形式
  • 带下标的遍历形式
>>> chars = ['a', 'b', 'c', 'd']
>>> for i, chr in enumerate(chars):
...     print i, chr
...
0 a
1 b
2 c
3 d

公共方法

运算符:
		+ 合并 	---> 字符串、列表、元组;
	    * 复制	---> 字符串、列表、元组;
	    in 在	---> 字符串、列表、元组、字典;
		not in 不在---> 字符串、列表、元组

python内置函数

cmp()	 比较 字典-->先比key再比值;
len()	 比较个数;
max()	 比较最大值;
min()	 比较最小值;
del()/del 删除变量;

函数

def test(a,b): # 定义test 函数名 传入形参
	c=a+b # 编写内容
	print(c)
test(1,2) # 调用	传入实参
函数返回值类型
  1. 无参数,无返回值
def print():
	print('---无参无返回---')
print()
  1. 无参、有返回值
def print():
	return 1
print()
  1. 有参、无返回值
def print(a):
	print("--有参无返回--")
print(1)
  1. 有参有返回值
def print(a,b): 
	num = a+b
	return num
print(1,2)
函数的嵌套
含义:一个函数中嵌套了另一个函数
作用域:
	在一个函数中定义的变量,只能在本函数中用(局部变量)
	在函数外定义的变量,可以在所有的函数中使用(全局变量)
注意:在同一函数中,当局部变量和全局变量重名时,以局部为主。

可变不可变类型

可变类型有: 列表、字典、集合
不可变类型有: 数字、字符串、元组

函数参数

1. 缺省参数 --->有默认值的
2. 不定长参数 --->加 * args的 以元组形式
				加 ** kwargs的 以字典形式
3. 顺序
	位置参数、*args,缺省参数、**kwargs

拆包

def get_my_info():
    high = 178
    weight = 100
    age = 18
    return high, weight, age # 保证拆包接收的数据和变量数一致
    my_high, my_weight, my_age = get_my_info()

交换2个变量的值

1. a = 4 b = 5 c = 0 
   c = a a = b b = c
2. a = 4 b = 5
   a = a + b a = 9,b = 5
   b = a - b a = 9,b = 4
   a = a - b a = 5,b = 4 
3. a , b = 4 , 5
   a , b = b , a

引用

变量的内存引用地址
# 数字是不可变类型内存引用地址是不变的
a = 1
b = a
id(a) #13033816
id(b) #13033816
# 列表可变类型的内存指向地址是不发生改变的
>>> a = [1, 2]
>>> b = a
>>> id(a)
139935018544808
>>> id(b)
139935018544808
>>> a.append(3)
>>> a
[1, 2, 3]
>>> id(a)
139935018544808
>>> id(b)       # 注意a与b始终指向同一个地址
139935018544808
1. Python中函数参数是引用传递(注意不是值传递)
2. 对于不可变类型,因变量不能修改,所以运算不会影响到变量自身
3. 而对于可变类型来说,函数体中的运算有可能会更改传入的参数变量

递归函数

函数在内部自己调用自己就是递归函数
递归函数
def calc(num):
	if num = 1:
		result = 1
	else:
		result = num * calc(num-1)
	return result
ret = calc(5)
print(ret)

匿名函数

用lambda关键词创建的小型匿名函数
	lambda 参数1,参数2:表达式
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值