Python基础知识(附带Python常见数据类型)

本文介绍了Python的基础知识,包括简洁的语法、丰富的库支持,以及各种数据类型如数值、布尔、字符串、列表、元组、字典。文章还讨论了数据类型间的转换、运算符的使用,如算术、赋值、比较、逻辑和位运算。此外,还涉及流程控制语句(如if-else、while、for循环)和函数定义,包括参数传递方式、默认参数、匿名函数(lambda)。最后,提到了JSON序列化与反序列化的使用。
摘要由CSDN通过智能技术生成

Python基础

特点

Python是一种相当简洁的高级语言,拥有丰富的基础代码库、第三方库,在数据分析、统计运算、绘图、网络爬虫、机器学习等,python非常具有优势。由于python是解释型语言,开发中没有编译这个环节,所以运行速度相对会慢,但在这种环境下可实时给出代码执行结果(又称Shell)

数据类型

python的数据类型可通过type()函数得知,详细数据类型及案例:python常见数据类型

  • 数值类型
类型解释
int整数
float浮点数(带小数)
bool布尔值(True、False、0、1)
complex复数

注意:

  1. 在python中可实现数值类型之间的相互转换,使用方法名为对应需要转换的类型,如:int()
  2. 浮点数转整数会丢失精度(小数部分),任意数据类型都可转换为字符串
  3. 在bool类型中,True对应1,False对应0,且bool()中为空则为False
  • 非数值类型
类型解释
str**[序列]**描述文本的数据
list**[序列]**有序的可变序列
tuple**[序列]**有序的不可变序列
set无序的不重合集合
dict无序的key-value集合

注意:

  1. 字符串输出print中,字符串无法直接使用+与数字拼接

  2. 输出中,占位符有:%s、%d、%f,分别对应字符串、整数、浮点

  3. 序列支持切片操作,在下文有关于序列**(字符串、列表、元组)**的相关解释

    import json
    data = [{"name":"lily","age":18},{"name":"sily","age":19},{"name":"zily","age":20}]
    # ensure_ascii参数控制是否不使用ASCII编码数据
    json_str = json.dumps(data,ensure_ascii=True);
    print(type(json_str))
    print(json_str)
    
    dict_list = json.loads(json_str)
    print(type(dict_list))
    print(dict_list)
    
    
    
    # 输出:
    # <class 'str'>
    # [{"name": "lily", "age": 18}, {"name": "sily", "age": 19}, {"name": "zily", "age": 20}]
    # <class 'list'>
    # [{'name': 'lily', 'age': 18}, {'name': 'sily', 'age': 19}, {'name': 'zily', 'age': 20}]
    

扩展:

  1. json为拥有特定组织格式的字符串
  2. json数据类型为不同语言类型的"中转站",与字典非常类似(列表里面字典键值对)
  3. python内置的json包中的dumps方法可将python数据转化为json数据
  4. python内置的json包中的loads方法可将json数据转化为python数据
  5. ensure_ascii=True,解决ASCII编码不显示中文问题

运算符

  • 算术运算符

    运算符解释
    +加法运算
    -减法运算
    *乘法运算
    /除法运算
    //取商的整数部分
    %取余数
    **指数运算

    注意:除法运算等,只要有小数位出现,数据会变为float

  • 赋值运算符

    运算符解释
    +=加法赋值运算
    -=减法赋值运算
    *=乘法赋值运算
    /=除法赋值运算
    //=取商的整数部分赋值
    %=取余数赋值
    **=指数赋值运算
    =赋值运算
  • 比较运算符

    运算符解释
    ==等于,判断是否相等
    !=不等于,判断是否不相等
    >大于
    >=大于等于
    <小于
    <=小于等于
  • 逻辑运算符

    运算符解释
    and逻辑且
    or逻辑或
    not逻辑非

    注意:优先级顺序为:() >not >and >or

  • 位运算符

    位运算解释
    &按位且运算
    |按位或运算
    ^按位异或运算(非)
    ~按位取反
    <<左移
    >>右移

流程控制语句

判断语句
  • if:

    if bool值表达式:
        True条件执行
    
  • if-else

    if bool值表达式:
        True条件执行
    else:
        False条件执行
    
  • if-elif-else

    if bool值表达式:
        True1条件执行
    elif bool值表达式:
        True2条件执行
    else:
        False条件执行
    
循环语句

在循环语句中,continue负责跳出当前的一次循环,break负责结束当前整个循环体

  • while:

    while bool值表达式:
        True条件执行
    

    注意:一般while用于明确的结束循环条件,for循环一般用于序列的循环

  • for:

    for bool值表达式:
        True条件执行
    
  • for in:

    str1 = "hello"
    for x in str1:
        print(x,end=" ")
    #输出:h e l l o 
    

    注意:python的for循环可以执行循环获取str的每个字符

  • range:

    # range用于数字序列生成,可实现类似于java的次数控制
    # 获得0-4的数字序列
    range(5)
    # 获得3-5的数字序列
    range(3,6)
    # 获得1-10中,每隔2位取一个的数字序列
    range(1,11,2)
    

    注意:range生成的序列都是不包含尾部数字的(左闭右开)

函数

基本结构

函数需要先定义后使用,参数可省略,返回值可省略,需要注意的是,函数与方法都是def关键字定义,只不过在class内部定义的函数我们称为方法,函数可直接通过函数名调用,但方法需要先获取类对象,通过类对象调用。

def 函数名(传入参数):
	函数体
	return 返回值
  • 参数

    即需要交给函数处理的数据,多参数之间使用,隔开

  • 返回值

    通过return关键字返回值,函数体遇到return就结束

    若函数没有return关键字,则方法默认返回None

    None等同于False

  • global

    函数内部定义的变量为局部变量

    最外部定义的变量为全局变量

    若想在函数内部修改全局变量,则需要先【global 变量名】声明使用的是全局变量

函数的多返回值
  • 当函数需要返回多个值时,在return关键字后面,多个返回值间使用逗号隔开
  • 返回值之间的位置代表返回顺序,返回值的类型允许不同
函数的多种传参方式
  • 位置传参

    即数据对应填入函数定义的形参位置

  • 关键字传参

    通过键值对指定某个形参的值,参数位置可乱,示例如下:

    def func(name age):
        return name,age
    
    name,age = func(age=18,name="lili")
    
    
  • 默认参数(缺省参数)

    即若没有传入参数,则使用默认值,有则使用传入的参数,设置默认值的参数要放后面

    def func(name age gender="男"):
        return name,age,gender
    name,age,gender = func("lili",18)    #gendder的值为默认的"男"
    
  • 可变参数

    • 位置不定长

      使用【*变量名】作为形参,传入序列,函数将序列转化为元组(固定序列)

    • 关键字不定长

      使用【**变量名】作为形参,传入键值对,函数将键值对转化为字典可(键值对)

  • 函数作为参数传递

    • 形参传入的是一个函数,在当前函数中,可调用传入的函数,即使用传入函数的逻辑
lambda匿名函数
  • lambda匿名函数不需要写函数名,也不用写return关键字,默认返回处理结果
  • lambda匿名函数需要在同一行完成函数的书写
  • 格式:lambda 形参1,形参2 : 对形参的运算与处理
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值