python基础

目录

一、条件/循环语句

(一)条件语句

1. 语法格式

2. 缩进和代码块

3. 空语句 pass

(二)循环语句

1. while循环

2. for 循环

二、函数

(一)语法格式

1. 创建函数/定义函数

2. 调用函数/使用函数

(二)函数返回值

1. 一个函数中可以有多个 return 语句

2. 一个函数是可以一次返回多个返回值的. 使用 , 来分割多个返回值

3. 使用 _ 来忽略不想要的返回值

(三)变量的作用域

1. 在不同的作用域中, 允许存在同名的变量

2. 在函数内部, 修改全局变量的值, 需要使用 global 关键字声明

3. 在 if / while / for 中定义的变量, 在语句外面也可以正常使用

(四)函数递归

(五)参数默认值

(六)关键字参数

三、列表

(一)创建列表

(二)访问下标

(三)切片操作

1. 使用 [ : ] 的方式进行切片操作

2. 切片操作中可以省略前后边界

3. 切片操作还可以指定 "步长" , 也就是 "每访问一个元素后, 下标自增几步"

4. 切片操作指定的步长还可以是负数, 此时是从后往前进行取元素. 表示 "每访问一个元素之后, 下标自减几步"

(四)遍历列表元素

(五)插入元素

(六)查找元素

(七)连接列表

四、元组


 

一、条件/循环语句

(一)条件语句

1. 语法格式

  • if 后面的条件表达式, 没有 ( )使用 ,: 作为结尾
  • if / else 命中条件后要执行的 "语句块", 使用 缩进 (通常是 4 个空格或者 1 个 tab)来表示, 而不是 { }
  • 对于多条件分支, 不是写作 else if, 而是 elif (合体了) 
choice = input("输入 1 表示认真学习, 输入 2 表示躺平摆烂: ")
if choice == "1":
    print("你会找到好工作!")
elif choice == "2":
    print("你可能毕业就失业了!")
else:
    print("你的输入有误!")

2. 缩进和代码块

  • 使用缩进表示代码块。不同级别的缩进, 程序的执行效果是不同的
# 代码1
a = input("请输入一个整数: ")
if a == "1":
    print("hello")
    print("world")
# 代码2
a = input("请输入一个整数: ")
if a == "1":
  print("hello")
print("world")

python基础_第1张图片

  • 在代码1 中, print("world") 有一级缩进, 这个语句属于 if 内的代码块, 意味着条件成立, 才执行, 条件不成立, 则不执行
  • 在代码2 中, print("world") 没有缩进, 这个语句是 if 外部的代码, 不属于 if 内部的代码块. 意味着条件无论是否成立, 都会执行 

3. 空语句 pass

  •  pass 表示 空语句, 并不会对程序的执行有任何影响, 只是占个位置
a = int(input("请输入一个整数:"))
if a != 1:
    pass
else:
    print("hello")

(二)循环语句

1. while循环

while 条件:
  循环体
#计算 1-100 的和
sum = 0
num = 1
while num <= 100:
    sum += num
    num += 1
print(sum)

2. for 循环

for 循环变量 in 可迭代对象:
  循环体
  • 打印 1-10
for i in range(1, 11):
    print(i)
  • 通过 range 的第三个参数, 可以指定迭代时候的 "步长". 也就是一次让循环变量加几
#打印 2, 4, 6, 8, 10
for i in range(2, 12, 2):
    print(i)
#打印 10-1
for i in range(10, 0, -1):
    print(i)
#打印 1-100
sum = 0
for i in range(1, 101):
    sum += i
print(sum)

二、函数

(一)语法格式

1. 创建函数/定义函数

def 函数名(形参列表):
  函数体
  return 返回值

2. 调用函数/使用函数

函数名(实参列表)      // 不考虑返回值
返回值 = 函数名(实参列表)  // 考虑返回值

(二)函数返回值

# 定义函数
def calcSum(beg, end):
    sum = 0
    for i in range(beg, end + 1):
        sum += i
    return sum

# 调用函数
ret =calcSum(1, 100)
print(ret)

1. 一个函数中可以有多个 return 语句

# 判定是否是奇数
def isOdd(num):
    if num % 2 == 0:
        return False
    else:
        return True
result = isOdd(11)
print(result)

2. 一个函数是可以一次返回多个返回值的. 使用 , 来分割多个返回值

def getPoint():
    x = 10
    y = 20
    return x, y

a, b = getPoint()
print(a)
print(b)

3. 使用 _ 来忽略不想要的返回值

def getPoint():
    x = 10
    y = 20
    return x, y

_, b = getPoint()
print(b)#20

(三)变量的作用域

1. 在不同的作用域中, 允许存在同名的变量

python基础_第2张图片

2. 在函数内部, 修改全局变量的值, 需要使用 global 关键字声明

python基础_第3张图片

3. 在 if / while / for 中定义的变量, 在语句外面也可以正常使用

python基础_第4张图片

(四)函数递归

def factor(n):
    if n == 1:
        return 1
    return n * factor(n - 1)

result = factor(5)
print(result)#结果120

(五)参数默认值

  • 带有默认值的参数, 可以在调用的时候不传参
#算两个数字的和
def add(x, y, debug=False):
    if debug:
        print(f'调试信息: x={x}, y={y}')
    return x + y

print(add(10, 20))
print(add(10, 20, True))

python基础_第5张图片

(六)关键字参数

通过 关键字参数, 来调整这里的传参顺序, 显式指定当前实参传递给哪个形参 

 python基础_第6张图片

三、列表

(一)创建列表

  • 列表主要有两种方式. [ ] 表示一个空的列表
#如果需要往里面设置初始值, 可以直接写在 [ ] 当中
alist = [1, 2, 3, 4]
print(alist)
#列表中存放的元素允许是不同的类型
alist = [1, 'hello', True]
print(alist)

(二)访问下标

  • 通过下标访问操作符 [ ] 来获取到列表中的任意元素
  • 通过下标不光能读取元素内容, 还能修改元素的值
  • 下标可以取负数,表示 "倒数第几个元素"

 python基础_第7张图片

(三)切片操作

  • 通过切片, 则是一次取出一组连续的元素, 相当于得到一个子列表

1. 使用 [ : ] 的方式进行切片操作

  • alist[1:3] 中的 1:3 表示的是 [1, 3) 这样的由下标构成的前闭后开区间
  • 也就是从下标为 1 的元素开始(2), 到下标为 3 的元素结束(4), 但是不包含下标为3 的元素
alist = [1, 2, 3, 4]
print(alist[1:3])

python基础_第8张图片

2. 切片操作中可以省略前后边界

alist = [1, 2, 3, 4]
print(alist[1:]) # 省略后边界, 表示获取到列表末尾
print(alist[:-1]) # 省略前边界, 表示从列表开头获取
print(alist[:]) # 省略两个边界, 表示获取到整个列表

python基础_第9张图片

3. 切片操作还可以指定 "步长" , 也就是 "每访问一个元素后, 下标自增几步"

 python基础_第10张图片

4. 切片操作指定的步长还可以是负数, 此时是从后往前进行取元素. 表示 "每访问一个元素之后, 下标自减几步"

python基础_第11张图片

(四)遍历列表元素

alist = [1, 2, 3, 4]
for elem in alist:
    print(elem)
#使用 for 按照范围生成下标, 按下标访问
alist = [1, 2, 3, 4]
for i in range(0, len(alist)):
    print(alist[i])
#使用 while 循环. 手动控制下标的变化
alist = [1, 2, 3, 4]
i = 0
while i < len(alist):
    print(alist[i])
    i += 1

(五)插入元素

  • 使用 append 方法, 向列表末尾插入一个元素(尾插)
alist = [1, 2, 3, 4]
alist.append('hello')
print(alist)

python基础_第12张图片

  • 使用 insert 方法, 向任意位置插入一个元素 
  • insert 第一个参数表示要插入元素的下标
alist = [1, 2, 3, 4]
alist.insert(1, 'hello')
print(alist)

(六)查找元素

  • 使用 in 操作符, 判定元素是否在列表中存在, 返回值是布尔类型
alist = [1, 2, 3, 4]
print(2 in alist)
print(10 in alist)
  • 使用 index 方法, 查找元素在列表中的下标。返回值是一个整数. 如果元素不存在, 则会抛出异常
alist = [1, 2, 3, 4]
print(alist.index(2))
print(alist.index(10))

(七)连接列表

  • 使用 + 能够把两个列表拼接在一起
  • 此处的 + 结果会生成一个新的列表。而不会影响到旧列表的内容
alist = [1, 2, 3, 4]
blist = [5, 6, 7]
print(alist + blist)
  • 使用 extend 方法, 相当于把一个列表拼接到另一个列表的后面
  • a.extend(b) , 是把 b 中的内容拼接到 a 的末尾. 不会修改 b, 但是会修改 a
alist = [1, 2, 3, 4]
blist = [5, 6, 7]
alist.extend(blist)
print(alist)
print(blist)

 python基础_第13张图片

四、元组

  • 元组不能修改里面的元素, 列表则可以修改里面的元素
  • 因此, 像读操作,比如访问下标, 切片, 遍历, in, index, + 等, 元组也是一样支持的
  • 但是, 像写操作, 比如修改元素, 新增元素, 删除元素, extend 等, 元组则不能支持 
atuple = ( )
atuple = tuple()

你可能感兴趣的:(python,python,开发语言)