Python基础知识学习与回顾

Python学习

Python基本语法

标识符

标识符由数字、字符串、下划线构成。

注意事项:

  1. 标识符不以数字开头
  2. 区分大小写
  3. 下划线开头的标识符具有特殊意义
  4. 保留字,Python保留了一些关键字,这些关键字都是通过小写字母进行保存。
下划线开头的特殊含义:单下划线: _foo 代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入。 双下划线: __foo 代表类的私有成员 双下划线开头和结尾: __foo__  Python里特殊方法专用的标识,如 __init__() 代表类的构造函数。 

行与缩进

python不通过括号来保留层级关系,通过缩进进行编写模块。缩进的数量可以自己控制,但是需要统一。

多行语句

使用斜杠\可以把一行语句当做多行来显示

# 去掉斜杠会报错
total = one + \         two + \         three

语句中包含 [], {} 或 () 括号就不需要使用多行连接符:

# 不用斜杠也不会报错
data = {1,2,3,         4,5,6}  data1 = [1,2,3,          4,5,6] data2 = (1,2,3,          4,5,6)

引号

引号可以用来定义字符串,可以是单引号,双引号和三引号。单引号和双引号之间没有区别,三引号可以用来定义多行的字符串,同时三引号也可以用来表示多行的注释。

Python 变量

变量可以存储内存中的值。创建变量可以在内存中开辟空间。变量可以存储整数、小数或者字符。

每个变量在使用前必须赋值,变量被赋值之后,这个变量才会被创建。

变量等过=号被赋值

Python标准数据类型

  • 数字 Numbers

    • int 符号整数
    • long 长整型
    • float 浮点型
    • complex 复数
  • 字符串 String

    • 字符串取值的两种顺序

    • 从左到右索引默认从0开始,从右到左索引默认从-1开始。

    • 在这里插入图片描述

    • str = 'Hello World!'   
      print str           # 输出完整字符串 
      print str[0]        # 输出字符串中的第一个字符 
      print str[2:5]      # 输出字符串中第三个至第六个之间的字符串 print str[2:]       # 输出从第三个字符开始的字符串 
      print str * 2       # 输出字符串两次 
      print str + "TEST"  # 输出连接的字符串#python列表截取可以接收三个参数,第一个是起始下标,第二个是终止下标,第三个是截取的步长print str[1:4:2]
      #意思就是从索引1到索引4设置为步长为2,取出这些字符
  • 列表 List

    • 是Python中使用最频繁的数据类型

    • 里面的数据类型可以多样,可以包含数字、字符串和字符,也可以包含列表进行嵌套

    • 采用[]进行标识

    • 列表的基本操作

      #列表的基本操作 
      list = ['aad',76,'c',23.1,'e','f'] 
      newlist = [123,'sow'] 
      print(list[1:]) 
      print(list[:4]) 
      print(list[1:3]) 
      print(list[1:5:2]) 
      print(list+newlist)#一些基本的函数 
      list1 = [1,2,3,4,5,6] 
      list1.append(7)         #列表末尾添加元素 
      list1.count(1)          #统计某个元素出现的次数 
      list1.sort()            #对列表进行排序 
      list1.reverse()         #反转列表 
      list1.pop()             #弹出第一个元素,并返回该值 
      list1.index(4)          #找到元素4的下标 
      list1.extend([8,9,10])  #末尾添加列表
      
  • 元组 Tuple

    • 类似于列表,但是里面的元素不能二次赋值,不能更新,相当于只读列表
    #元组的基本操作 
    tuple1 = ('aad',76,'c',23.1,'e','f') 
    newtuple = (123,'sow') 
    print(tuple1[:]) 
    print(tuple1[1:]) 
    print(tuple1[1:3]) 
    print(tuple1*2) 
    print(tuple1 + newtuple)#元组的一些基本函数
    #元组里面的元素不能修改,但是可以对元组进行连接和组合
    tup3 = tuple1 + newtuple		#元组的组合
    del tup3						#元组的删除
    len(tuple1)                     #元组长度
    max(tuple1)                     #求元组中的最大值
    
  • 字典 Dictionary

    • 除列表以外最灵活的数据结构类型,列表是有序的对象集合,字典是无序的对象集合。字典当中的元素是通过键来存取的,而不是通过偏移存取。
    #字典 dict = {} 
    dict['one'] = "first" 
    dict['two'] = 'second' 
    newdict = {'name':'Phil','number':2023, 'school': 'jLU'} print(dict['one']) 
    print(dict['two']) 
    print(dict) 
    print(dict.keys()) 
    print(dict.values())
    

    三类数据类型对比:

    数据类型表示符号特点
    列表 List[]1、最灵活
    2、元素可以进行多样,可以进行增删改查
    3、用下标进行取值
    元组 Tuple()1、最不灵活
    2、元素可以多样,创建之后不能对里面元素进行操作
    3、用下标进行取值
    字典 Dictionary{}1、灵活度仅限于列表
    2、元素可以多样,可以进行增删改查
    3、用键值对进行取值

    数据类型转换

    python里面可以拥有内置函数进行格式转化。这些函数可以返回一个新的对象

    #数据类型转化 
    number = 12.5 
    count = 5 
    string = "1,2,3,4,5" 
    print(int(number))      #转化为整数 
    print(complex(number))  #转化为复试 
    print(str(number))      #转换为字符串 
    print(list(string))     #转化为列表 
    print(tuple(string))    #转化为元组 
    print(dict(string))     #转化为字典,因为不是(key,value)元组,会报错 
    print(set(string))      #转化为集合 
    print(hex(count))       #转化为16进制的字符串 
    print(oct(count))       #转化为8进制的字符串
    

    Python运算符

    算数运算符应该都接触过,加减乘数,还有一些稍微特别一些的,取模和幂和整除。

    比较运算符,就是常见的大于、等于、小于这些,其中不等于需要注意下

    赋值运算符,=,还有一些简写的,-=,+=这些

    位运算符,这个一般很少用,但是这个是比较底层的元素,可以提高运算速率

    逻辑运算符,and,or,not就相当于与,或,非运算

    成员运算符,in,not in,判断指定的序列是否存在某个值

    +,-,*,/,%,**加减乘除,取模,幂次
    //取整数,返回商的整数部分(向下取整)
    ==等于号,判断两个数是否相等
    !=不等于,判断两个数是否不相等
    >,<,>=,<=大于、小于、大于等于、小于等于
    **=,//=c**=a 等于 c=c**a
    &按位与运算,都为1,才为1,否则为0
    |按位或运算,只要其中一个为1,才为1,否则为0
    ^异或运算,二进制对应的位置相异时,结果为1
    ~取反运算,把0变成1,把1变成0
    >>右移运算,二进制全部右移若干位
    <<左移运算,高位丢弃,低位补0

Python 条件语句、循环语句

各种编程语言其实都类似,稍微记下语法的区别就可以

#if else基本使用
"""
if 判断条件:执行语句.....
else:执行语句.....	
"""#循环语句 分为while循环和for循环"""
while 循环
while 判断条件:执行语句
"""#举例
a = 1
while a < 10:a+=2"""
for循环
for 变量 in 序列(可以是列表,字符串):"""

循环控制语句:

break终止循环,跳出整个循环
continue终止循环,跳出该次循环,执行下一次循环
pass空语句,保证程序结构的完整性

Python日期和时间

Python提供了time和calendar两个模块用于格式化日期和时间。

每个时间戳是从1970年1月1日午夜经历了多长时间来进行表示的。

#时间
print(time.time())                      #输出时间戳
print(time.localtime(time.time()))      #输出本地时间
print(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()))      #格式化日期
#格式化需要注意,大小写%Y,%y以及很多表示的内容都是不一样的,需要根据需求设置对应的格式,具体看官网#日历
print(calendar.calendar(2023))			#输出2023年的日历
print(calendar.month(2016,1))			#输出2016年的1月份日历

Python函数

函数是组织好的,可重复使用,用来实现单一,或相关联功能的代码段。

作用:提高应用的模块性和代码的重复利用率。

定义函数,函数调用

  • **def**开头,后面接函数名和圆括号(),圆括号里面放参数
  • 函数内容从冒号开始,然后要进行缩进
  • return表示结束函数,不带return返回none
#print函数 
def printstr(str):         print(str)         return 
#函数调用 
printstr("this is a test")

参数传递

在Python中,类型属于对象,变量没有类型。

Python中一切都是对象,严格意义我们不能说值传递还是引用传递,我们应该说传不可变对象和传可变对象。

  • 不可变类型:数字、字符串、元组
    • a=5,改成了a=10。并不是改变了a,而是生成了一个新的对象10,丢弃原来的5,新生成了一个a
    • 在python中参数传递中,只是传递了值,不会影响原本的对象,类似于c的值传递
  • 可变类型:列表、字典
    • la=[1,2,3,4],la[1]=10,更改了元素,本身la并没有变,只是内部的值变化了。
    • 在python中可变类型的参数传递类似于C语言的指针。

参数

  • 必备参数:调用时的数量必须与声明时的一样。
#print函数 
def printstr(str):         print(str)         return 
#必备参数
printstr("this is a test")
  • 关键字参数:关键字参数允许函数调用时参数的顺序与声明时不一致,因为 Python 解释器能够用参数名匹配参数值。
#print函数  
def printstr(name,age):              print(name+age)              return  
#关键字参数 
printstr(age="18",name="Yang")  #顺序可以调换
  • 默认参数:调用函数时,默认参数的值如果没有传入,则被认为是默认值。下例会打印默认的age
#print函数  
def printstr(name,age=18):    #age设置了默认值              print(name+age)                  return  
#默认参数 
printstr(name="Yang")
  • 不定长参数:函数能处理比当初声明时更多的参数。加了星号(*)的变量名会存放所有未命名的变量参数。
# 可写函数说明 
def printinfo( arg1, *vartuple ):    "打印任何传入的参数"    print "输出: "    print arg1    for var in vartuple:       print varreturn   
# 调用printinfo 函数 
printinfo( 10 ) 
printinfo( 70, 60, 50 )

局部变量和全局变量

定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域。局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问。调用函数时,所有在函数内声明的变量名称都将被加入到作用域中

Python模块

Module Python文件,包含Python的对象定义和Python的语句。

可以有逻辑的组织代码段

让代码更好用,更易懂

可以定义函数、类和变量,可以包含可执行的代码。

模块导入 import

import module		         #引入模块
from modnmae import name1    #从模块中导入一个制定的部分
from modname import * 		 #把一个模块的所有内容全部导入

搜索路径

导入模块,Python解析器对模块位置的搜索顺序;

  1. 当前目录
  2. 不在当前目录,搜索shell变量的PYTHONPATH下的目录
  3. 如果都找不到,Python会查看默认路径

Python中的包

分层次的文件目录结构,由模块以及子包构成。

包就类似于文件夹,文件夹中必然存在__init__..py文件,这个文件的内容可以是空的,只是用来标识当前文件夹是一个包。

让代码更好用,更易懂

可以定义函数、类和变量,可以包含可执行的代码。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/91303.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Nacos配置管理

统一配置管理 当微服务部署的实例越来越多&#xff0c;达到数十、数百时&#xff0c;逐个修改微服务配置就会让人抓狂&#xff0c;而且很容易出错。我们需要一种统一配置管理方案&#xff0c;可以集中管理所有实例的配置。 Nacos一方面可以将配置集中管理&#xff0c;另一方可…

PHP教学资源管理系统Dreamweaver开发mysql数据库web结构php编程计算机网页

一、源码特点 PHP 教学资源管理系统是一套完善的web设计系统&#xff0c;对理解php编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。 源码 https://download.csdn.net/download/qq_41221322/88260480 论文 https://downl…

汽车电子笔记之:基于AUTOSAR的电机控制器架构设计

目录 1、概述 2、AUTOSAR设计 2.1、SWC设计 2.2、PORT设计 2.3、Runnable设计 2.4、电机控制器OS实现 1、概述 电机控制器应用层的软件架构较为复杂,主要包括PMSM(Permanent-MagnetSynchronous Motor)的矢量控制算法。根据PMSM的控制算法,对算法中的软件功能进行分析&…

高忆管理:新手炒股入门零基础学?

炒股是一些人为了取得高额回报和更好的财政自由而进行的活动。但对许多新手而言&#xff0c;这是一个全新的领域&#xff0c;需求掌握许多根底常识才能够开始加入炒股商场。本文将为零根底的新手炒股入门供给一些主张和技巧&#xff1a; 一、学习根底常识 关于炒股入门的新手而…

头歌MYSQL——课后作业6 函数

第1关&#xff1a;数值函数 任务描述 本关任务&#xff1a;对表达式取整 相关知识 四舍五入的函数 ROUND(X,D) 返回X&#xff0c;其值保留到小数点后D位&#xff0c;而第D位的保留方式为四舍五入。 若D的值为0,则对小数部分四舍五入。 若将D设为负值&#xff0c;保留X值小数…

200 套基于Java开发的Java毕业设计实战项目(含源码+说明文档)

文章目录 简介前言第一部分第二部分部分截图源码咨询 简介 博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 前言 对于java方向的毕业设计题目选题&#xf…

分布式定时任务框架Quartz总结和实践(2)—持久化到Mysql数据库

本文主要介绍分布式定时任务框架Quartz集成SpringBoot持久化数据到Mysql数据库的操作&#xff0c;上一篇文章使用Quartz创建定时任务都是保存在内存中&#xff0c;如果服务重启定时任务就会失效&#xff0c;所以Quartz官方也提供将定时任务等信息持久化到Mysql数据库的功能&…

jdbc235

概念&#xff1a;java database connectivity java数据库连接 java语言操作数据库 定义了一套操作所有关系型数据库的规则&#xff08;接口&#xff09; 本质&#xff1a;其实是官方公司定义了一套操作所有关系型数据库的规则&#xff0c;即接口。各个数据库厂商去实现这套接…

根据身高重建队列【贪心算法】

根据身高重建队列 假设有打乱顺序的一群人站成一个队列&#xff0c;数组 people 表示队列中一些人的属性&#xff08;不一定按顺序&#xff09;。每个 people[i] [hi, ki] 表示第 i 个人的身高为 hi &#xff0c;前面 正好 有 ki 个身高大于或等于 hi 的人。 请你重新构造并返…

2009-2022年商业银行资产利息相关数据

2009-2022年商业银行资产利息相关数据 1、时间&#xff1a;2009-2022年 2、来源&#xff1a;整理自wind 3、指标&#xff1a;利息支出、资产总计、员工总数、固定资产、存款总额、应付职工薪酬、营业支出、营业收入、扣除人员开支后的营业支出 银行&#xff1a;平安银行兰州…

Python教程(11)——Python中的字典dict的用法介绍

dict的用法介绍 创建字典访问字典修改字典删除字典字典的相关函数 列表虽然好&#xff0c;但是如果需要快速的数据查找&#xff0c;就必须进行需要遍历&#xff0c;也就是最坏情况需要遍历完一遍才能找到需要的那个数据&#xff0c;时间复杂度是O(n)&#xff0c;显然这个速度是…

Spooling的原理

脱机技术 程序猿先用纸带机把自己的程序数据输入到磁带中&#xff0c;这个输入的过程是由一台专门的外围控制机实现的。之后CPU直接从快速的磁带中读取想要的这些输入数据。输出也类似。 假脱机技术&#xff08;Spooling技术&#xff09; 即用软件的方式来模拟脱机技术。要…