首页 > 编程语言 >python基础

python基础

时间:2024-07-07 09:30:50浏览次数:12  
标签:python list 基础 列表 tm time print import

Python基础

一、前序

  1. 查看Python版本

    pyhton -V 或 Python --version

二、基础部分

2.1 基础语法

  1. 编码

    默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。 当然你也可以为源码文件指定不同的编码:

    # -*- coding: cp-1252 -*-
    
  2. 标识符

    • 第一个字符必须是字母或下划线
    • 标识符的其他部分由字母,数字和下划线组成
    • 标识符对大小写敏感
  3. python保留字

    >>> import keyword
    >>> keyword.kwlist
    ['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
    

2.2 基本数据类型

标准数据类型

  • Number 数字
  • String 字符串
  • bool 布尔类型
  • List 列表
  • Tuple 元组
  • Set 集合
  • Dictionary 字典

python3中六个标准数据类型中:

  • 不可变数据(3个):Number String Tuple
  • 可变数据(3个): List Dictionary Set

3.2.1 Number 数字

支持 int、float、bool、complex

内置的type()函数可以用来查询变量所指的对象类型

isinstance和type的区别:

  • type()不会认为子类是一种父类类型
  • isinstance()会认为子类时一种父类类型

3.2.2 String 字符串

字符串截取的语法如下:

变量[头下表 : 尾下标]

  • 反斜杠可以用来转义,使用r可以让反斜杠不发生转义
  • Python中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始
  • Python中的字符串不能改变

3.2.3 bool 布尔类型

  • 布尔类型只有两个值:True 和 False。
  • bool 是 int 的子类,因此布尔值可以被看作整数来使用,其中 True 等价于 1。
  • 布尔类型可以和其他数据类型进行比较,比如数字、字符串等。在比较时,Python 会将 True 视为 1,False 视为 0。
  • 布尔类型可以和逻辑运算符一起使用,包括 and、or 和 not。这些运算符可以用来组合多个布尔表达式,生成一个新的布尔值。

3.2.4 列表

更新列表

list1 = ['Google', 'Runoob', 'Taobao']
list1.append('Baidu')

删除列表

使用del语句来删除列表中的元素:

#!/usr/bin/python3
 
list = ['Google', 'Runoob', 1997, 2000]
 
print ("原始列表 : ", list)
del list[2]
print ("删除第三个元素 : ", list)

列表常用方法

  • len(list) 列表元素个数
  • list(seq) 将元组转换为列表
  • list.count(obj) 统计某个元素在列表中出现的次数
  • list.append(obj) 在列表中末尾添加新的对象
  • list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值
  • list.insert(obj) 从列表中找出某个值第一个匹配项的索引位置
  • list.insert(index,obj) 将对象插入列表

三、异常

使用try-catch处理

try:
    #[代码块A] 可能会出现异常的代码
except  Exception1 [as 2]:
    # 异常处理
.....
[else:]
	# 可选,如果没有引发异常会执行
[finally:]
	# 无论如何都要执行的语句
    # 数据的清楚,文件流的关闭等操作

raise关键字

try:
    pwd = input('请输入您的密码:')
    if len(pwd) < 8:
        raise Exception('密码长度不够,请输入一个8位以上的密码')
except Exception as e:
    print(e) # 密码长度不够,请输入一个8位以上的密码

当能预期到可能出现异常时选择捕获异常,否则抛出异常

四、模块

使用import导入

from 模块名 import 方法名  as 别名

每一个扩展名py结尾的python源文件都是一个模块

在模块中定义的全局变量,函数都是模块能够提供给外界使用的工具

  1. 包的使用

    包是python模块的一种组织形式,将多个模块组合在一起,形成了一个大的python工具库。包通常是一个拥有__init__.py文件的目录,它定义了包的属性和方法。

    import  pack1.module1
    from pack1 import module1
    
  2. 常见的标准库

  3. time库

    • 获取当前时间

      • time.time(): 返回自纪元(1970年1月1日00:00:00 UTC)以来的秒数,通常称为Unix时间戳。

      • time.localtime(): 返回一个表示本地时间的time.struct_time对象。

      • time.gmtime(): 返回一个表示协调世界时(UTC)的time.struct_time对象。

        import time
        
        # 获取当前时间戳
        timestamp = time.time()
        print("当前时间戳:", timestamp)
        
        # 获取本地时间
        local_time = time.localtime()
        print("本地时间:", local_time)
        
        # 获取UTC时间
        utc_time = time.gmtime()
        print("UTC时间:", utc_time)
        
        
        #当前时间戳: 1715833304.1631322
        #本地时间: time.struct_time(tm_year=2024, tm_mon=5, tm_mday=16, tm_hour=12, tm_min=21, tm_sec=44, tm_wday=3, tm_yday=137, tm_isdst=0)
        #UTC时间: time.struct_time(tm_year=2024, tm_mon=5, tm_mday=16, tm_hour=4, tm_min=21, tm_sec=44, tm_wday=3, tm_yday=137, tm_isdst=0)
        
    • 时间格式化

      • time.strftime(format, time_tuple): 将time.struct_time对象格式化为字符串。

      • time.strptime(string, format): 将字符串解析为time.struct_time对象。

        import time
        
        # 格式化本地时间
        formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
        print("格式化后的本地时间:", formatted_time)
        
        # 解析时间字符串
        parsed_time = time.strptime("2021-09-10 10:22:47", "%Y-%m-%d %H:%M:%S")
        print("解析后的时间:", parsed_time)
        
        #格式化后的本地时间: 2024-05-16 12:22:02
        #解析后的时间: time.struct_time(tm_year=2021, tm_mon=9, tm_mday=10, tm_hour=10, tm_min=22, tm_sec=47, tm_wday=4, tm_yday=253, tm_isdst=-1)
        
    • 延时执行

      • time.sleep(seconds): 使程序暂停指定的秒数。

        import time
        
        print("开始休眠...")
        time.sleep(2)  # 休眠2秒
        print("休眠结束!")
        
    • 定时器(每隔一定时间执行一次任务)

      使用 time.sleep() 和一个循环来创建一个简单的定时器。

      import time
      
      def timer_task():
          print("定时任务执行中...")
      
      while True:
          timer_task()
          time.sleep(5)  # 每5秒执行一次
      
      # 注意:上面的代码会无限循环,你可能需要一种方式来中断它,比如设置一个标志变量或使用try/except捕获KeyboardInterrupt异常。
      
    • 获取时间戳的日期部分

      import time
      from datetime import datetime
      
      timestamp = time.time()
      dt_object = datetime.fromtimestamp(timestamp)
      date_only = dt_object.date()
      print("日期部分:", date_only)
      

五、面向对象

5.1 类和实例

定义类

  • object 父类的名字,默认是object,所有的类都直接或间接的继承object类

    class ClassName(object):
        .....
    

实例

实例名 = 类名()

class Player(object):

    # 构造函数
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def showInfo(self):
        print('大家好我叫{},我今年{}岁了'.format(self.name, self.age))


mia = Player('mia', 24)
mia.showInfo()

# 获取对象的所有属性
print(mia.__dict__)

标签:python,list,基础,列表,tm,time,print,import
From: https://www.cnblogs.com/2678066103hs/p/18288211

相关文章

  • python pyqt5学习记录(三)
    一、布局在PyQt5中,可以使用QHBoxLayout来创建水平布局,使用QVBoxLayout来创建垂直布局。以下是一个简单的例子,展示了如何将两个按钮分别放置在水平和垂直布局中。importsysfromPyQt5.QtWidgetsimportQApplication,QWidget,QPushButton,QVBoxLayout,QHBoxLayoutcla......
  • 在ENSP里对DHCP的基础部署实验
    一:实验要求:建立一个小型网络(包含一台路由器,两台交换机,两台电脑,两个服务器(一个HTTP服务器,一个DNS服务器),两个平板)并使电脑自动获取IP地址,平板可以跨广播域访问网址。二:拓扑模板:三:实验步骤:第一步,在ENSP里新建一个拓扑并准备好相应的设备,如图所示:第二步,服务器和路由器和平板......
  • python-graph-study2024-7
     1.先打基础1基础学习笔记 GraphCreationNetworkXgraphobjectscanbecreatedinoneofthreeways:Graphgenerators—standardalgorithmstocreatenetworktopologies.Importingdatafrompreexisting(usuallyfile)sources.Addingedgesan......
  • python 识别图片验证码/滑块验证码准确率极高的 ddddocr 库
    前言验证码的种类有很多,它是常用的一种反爬手段,包括:图片验证码,滑块验证码,等一些常见的验证码场景。识别验证码的python库有很多,用起来也并不简单,这里推荐一个简单实用的识别验证码的库ddddocr(带带弟弟ocr)库.环境准备python版本要求小于等于python3.9版本pip安装pipin......
  • python简单操作
    一.输出九九乘法表row=1whilerow<=9:  col=1  whilecol<=row:    print("%d*%d=%d"%(row,col,row*col),end="\t")    #\t在控制台输出一个制表符,协助文本垂直方向上对齐    #\n换行符\"可输出双引号 ......
  • Shopee虾皮api python获取虾皮购物平台的商品数据信息 数据采集
    虾皮购物(英语:Shopee)是一个电商平台,总公司设在新加坡,归属于SeaGroup(之前称之为Garena),该企业于2009年由李小冬(ForrestLi)创办。虾皮购物于2015年初次在新加坡推出,现阶段已拓展到马来西亚、泰国、印度尼西亚、越南和菲律宾。虾皮购物为全球华人地区的客户提供线上购物和销售......
  • Appium+python自动化(四十二)- 寿终正寝完结篇 - 结尾有惊喜,过时不候(超详解)
    1.简介 按照上一篇的计划,今天给小伙伴们分享执行测试用例,生成测试报告,以及自动化平台。今天这篇分享讲解完。Appium自动化测试框架就要告一段落了。2.执行测试用例&报告生成 测试报告,宏哥已经讲解了testng、HTMLTestRunner、allure等等,今天就在讲解一个新的测试报告BSTest......
  • python socket模块实现上传文件到服务器
    socket模块文件上传案例catserver.py#-*-coding:UTF-8-*-importsocketsock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)sock.bind(('0.0.0.0',8001))#127.0.0.1或查看自己局域网本地IP地址sock.listen(1)conn,addr=sock.accept()#接收......
  • python速通(函数)
    (网页的生成)牛客网的某个网页基本已经写好了,最后一步为了适应手机的尺寸,需要将高度增加一倍。为了适用于多个网页,牛牛希望你能将这个功能定义为一个函数,函数输入网页高度h,输出增加后的结果。defiheight(h):returnh*2h1,h2=map(int,input().split())print(iheight......
  • python随笔day02
    1.arg元组类型和**kwargs字典类型#元组参数:元组类型数据,对传递参数有顺序要求deftest(*args):print(f"args[0]={args[0]},args[1]={args[1]},args[2]={args[2]}")test(1,2,3)#字典参数:字典类型数据,对传递参数没有顺序要求,格式要求key=value值deftest2(**kwargs):......