Python基础part1

Python基础

语法

字面量

  • 数字
    • 整数
    • 浮点
    • 复数
    • 布尔
  • 字符串
  • 列表 list
  • 元组 Tuple
  • 集合 Set
  • 字典 Dictionary

注释

单行# 单行注释的内容
多行“”“ 多行注释的内容 ”“”

单行注释#后要加一个空格再写注释

变量

变量无类型,但数据有类型

语法

变量名 = 变量值

数据类型转换

int() str() float()

标识符

中文,英文,数字,下划线组成,数字不能开头,不能与关键字,保留字重名

运算符

+ - * / // % **

不熟悉的: //是整除 **是指数运算

赋值运算符

=加上上面的运算符和=的组合

比较运算符

> < = >= <= == !=

字符串

字符串定义
  1. 单引号
  2. 双引号
  3. 6个双引号包住

语法

'hello'
"hello"
"""hello"""
字符串拼接(**)
  1. +拼接(仅限字符串变量)

    "字符串内容"+str [str为存储字符串类型的变量]

  2. 格式化1

    ”字%s符%d串%f内容“ % (str,int,float) [str,int,float 为不同类型的变量] %s-字符串 %d-整数 %f-浮点数

  3. 格式化2

    f"字符串内容{变量}" [括号里面的内容也可以是一个表达式]

格式化中的对于数字的精度控制

m.n – m:控制宽度(若m小于数字本身宽度,不生效) n:控制小数点精度(四舍五入)

例子

print("my math score is %3.1f" % 90.25)

控制台输出为

my math score is 90.3


判断语句

基础知识

比较运算符 ==> 布尔类型的值 : 1.True 2.False

if 语句格式
i = 1
if i == 1:
    print("i确实等于1")
if else 语句格式
i = 1
if i != 1:
    print("i不等于1")
else:
    print("i确实等于1")
if 嵌套语句格式
i = 1
j = 2
if i == 1:
    print(i)
    if j == 2:
        print(j)
多个if elif else 语句格式
i = 3
if i == 1:
    print("i确实等于1")
elif i == 2:
    print("i确实等于2")
elif i == 3:
    print("i确实等于3")
else:
    print("i啥都不是")

补充

随机数

import random
num = random.randint(n,m)
# 范围为n~m的整数,包含n和m

循环语句

while
while 条件:
    代码
while 嵌套
while 条件:
    代码
    while 条件1:
        代码

案例

九九乘法表

i = 1
j = 1
while i < 10:
    while j <= i:
        print(f"{i}*{j}={i*j}",end=' ')
        j += 1
    print("")
    j = 1
    i += 1


在这里插入图片描述

for

“轮询”机制,对一批内容逐个处理

语法

for 临时变量 in 待处理数据集:
    代码

[!IMPORTANT]

无法定义循环条件,只能被动取出数据处理

案例

遍历字符串,统计英文字母“a”

n = 0
strA = "i love a,i lova b"
for i in strA:
    print(i)
    if i == "a":
        n += 1

print(n)
range [可以用于循环中的序列类型]

range(num)

获取一个从0开始,到num结束的数字序列(不包括num)

[0,1,2,…,n-1]

range(num1,num2)

[num1,num1+1,…,num2-1]

range(num1,num2,step)

step ==> 步长,即每个生成的数字间差n

continue和break:用法和c++,java语言的用法一样

案例

发工资

import random

all = 10000

people = 20
for i in range(20):
    if all == 0:
        break
    if people == 0:
        break
    if random.randint(1,11) > 5:
        all -= 1000
    people -= 1

print(f"最后的余额为{all}")
if all > 0:
    print("老板不差钱,你们绩效太差了")
else:
    print("行啊,这么卷,一起加油")

函数

必须先定义后使用

内置函数

提前写好,可重复使用(python内置的函数)

定义语法

def 函数名(形参表):
    函数体
    return 返回值(可以没有)

返回值之None类型

<class,‘NoneType’>

空的,没有意义

当没有返回值,及返回值为None时返回值即为None

应用:

  • 用在函数无返回值
  • 用在if判断
  • 用在声明无内容的变量(暂不赋予具体值)

声明文档

通过注释进行解释说明

在函数体前写多行注释

例子

def add(x,y):
    """
    add函数用于两数的相加,输出结果值,并返回一个结果
    :param x: 形参x为相加的其中一个数字
    :param y: 形参y为相加的另一个数字
    :return: 返回值为相加的结果
    """
    result = x + y
    print(f"两数相加为{result}")
    return result
:param用于解释参数
:return用于解释返回值

嵌套调用

在一个函数中调用另外一个函数进行使用

def funA():
    print("goodbye")

def funB():
    print("hello world")
    funA()

变量的作用域

局部变量在函数体内声明
全局变量在函数体外声明

[!WARNING]

在函数内要修改全局变量,需加global关键字

函数综合案例

取款机

money = 5000000
menu = 0
name = None
name = input("请输入你的姓名")
def mainmenu():
    print("-------------------查询-------------------")
    print(f"你好,{name},欢迎来到球球银行ATM,请选择操作,")
    print("查询余额 [输入1]")
    print("存款    [输入2]")
    print("取款    [输入3]")
    print("退出    [输入4]")
    print("请输入您的选择")

def search():
    print("-------------------查询余额-------------------")
    print(f"{name},您好,您的余额为:{money}")

def save(num):
    print("-------------------存款-------------------")
    print(f"{name},您好,您存款{num}元成功")
    global money
    money += num
    print(f"{name},您好,您的余额剩余:{money}元")

def pay(num):
    print("-------------------取款-------------------")
    print(f"{name},您好,您取款{num}成功")
    global money
    money -= num
    print(f"{name},您好,您的余额剩余:{money}")




while menu != "4":
    mainmenu()
    menu = input()
    if menu == "1":

        search()
    elif menu == "2":
        print("请输入你要存款的金额")
        m = int(input())
        save(m)
    elif menu == "3":
        print("请输入你要存款的金额")
        m = int(input())
        pay(m)
    else:
        print("欢迎下次使用ATM取款机!")
        break





数据容器

批量存储【其中一个数据为一个元素】

特点不同:

是否支持重复元素
是否可以修改
是否有序

列表

定义

字面量 [n1,n2,n3,…,nn]

变量名 = [元素1,元素2,…,元素n]

定义空列表

  1. 变量名 = []
  2. 变量名 = list()

[!IMPORTANT]

  • 元素类型可以不同
  • 可以重复
  • 可以嵌套
  • 可以修改

下标索引

变量名[num] ==> 从0开始

负数即为反向索引

超出范围进行查询会报错

列表的方法

查询

list.index(元素) ==> 返回下标

修改

通过索引下标修改

插入

list.insert(下标,值)

插入后,下标及下标后所在元素向后移动一位

追加

list.append(数据) 【在尾部】

list.extend(数据容器)

list = [1,2,3]
list.append([1,2,3])
print(list)
list.remove([1,2,3])
print(list)
list.extend([4,5,6])
print(list)

删除

list.remove(元素)

找第一个匹配项并删除,后面往前移动一位

清空

list.clear()

统计某个元素数量

llsit.count(元素)

长度(即总共有多少个元素)

len(list)

案例

取出列表中的偶数,并放到新列表中

list = [1,2,3,4,5,6,7,8,9,10]
list2 = []
list3 = []
for i in list:
    if i % 2 == 0:
        list2.append(i)
index = 0
while index < len(list):
    if list[index] % 2 == 0:
        list3.append(list[index])
    index += 1
print(f"list2:{list2}")
print(f"list3:{list3}")

元组

与列表不同

一旦定义完成,不可以修改

但元素如果是列表,列表中的内容可以修改

定义

变量名 = (元素1,元素2,元素n)

只有一个元素时,需要加逗号

定义空元组

  1. 变量名 = ()
  2. 变量名 = tuple()
相关操作

tuple.index(元素) ==> 下标

统计

  1. 某元素: tuple.count(元素)
  2. 总元素个数: len(tuple)

案例

记录一个同学的基本信息,爱好一栏由列表list存储,增删爱好,查询名字,班级

stu1 = ('李白','2023',['football','music'])

name_index = stu1.index('李白')
class_index = stu1.index('2023')

print(name_index)
print(class_index)

stu1[2].remove('football')
stu1[2].append('basketball')

print(stu1[2])

字符串[无法修改]

可用下标进行访问(正反都行)

若强行修改,会导致新字符串生成,旧的无法修改

查找

str.index(元素)

替换

str.replace(“替换”,"被替换“)

分割

str.split(分隔符字符串)

去除前后空格

str.strip()

去除前后指定字符串

str.strip(字符串)

统计

同列表一样

[!IMPORTANT]

替换,分割,去除前后空格,字符串等操作都是生成新的字符串字面量,需要赋予给新的字符串变量,旧的字符串变量没变

列表,元组,字符串都可以通过while和for进行遍历

序列

概念

内容连续,有序,可使用下标索引(如列表,元组,字符串)

常用操作:切片

从序列中取出子序列

语法

序列[起始下标:结束下标:步长]

步长默认为1,若为n,则时隔n-1个元素进行取的操作

步长为负数,则下标也同样应为负数

方法总结

str1[ : : -1] 可以将字符串倒序 (str为字符串)

t1 = (1,2,3,4)
t2 = t1[::2]
print(t2)
l1 = ['hello','goodbye',1,2,3,5,6,7]
l2 = l1[1:7:2]
print(l2)
s1 = 'abcdefg hijklmn'
s2 = s1[1:10:2]
print(s2) # 依旧是字符串类型

案例

s1 = ",B站大学来,nohtyP学"
s2 = s1[-10:-14:-1]
print(s2)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值