【Python】快速入门

news2025/7/30 0:15:51

目录

基础储备

Python输出:

Python换行:

Python命名规则:

Python变量:

Python运算:

Python注释:

小点:

Python的两种模式:

Python的用户问答互动程序:

Python条件语句

Python的逻辑运算:

 Python列表

 Python字典

循环 

Python for循环

 Python While循环

Python格式化字符串

Python 函数的定义

 Python引入模块

面向对象

Python的面向对象编程

 Python类的继承

文件

Python文件路径

Python的文件操作


基础储备

Python输出:

可以用单引号把内容引起来,也可以用双引号;

不同字符串之间可以直接用加号连接;

单引号和双引号会自动配对;有歧义时记得用转义字符

print('你好'+"是我呀!")

Python换行:

(1)需要换行的内容后面加上“\n”;

(2) 内容前后各用三个单引号(双引号也没问题)引起来,内容里的换行写的内容,也会在输出时自动换行,不需要写“\n”;

eg:

print("""你好
是我呀!
""")

 运行结果为:

 

 

Python命名规则:

(1)下划线命名法:字母全部小写,不同单词之间用下划线连接;eg:use_name;

(2)驼峰命名法:首字母大写,不同单词之间首字母大写;eg:UserName;

Python变量:

不需要定义类型,可以作为已知变量在初始化后,直接使用。

Python运算:

(1)允许除法两边为整数,eg:1/2=0.5;

(2)乘方表示为两个星号;eg:2**3=8;

(3)运用math库里的函数时,需要导入math库,即在第一行添加:import math

另外,在使用数学库里的函数之前需要加上math.

eg:     math.log2(8)=3;       math.sin(1)   

Python注释:

单行注释:每行之前加 “#”,快捷键是:选中需要注释的段落,按ctrl+/;取消的方式是重复上述操作;

多行注释:在需要注释的内容前后,分别加上三个双引号;

小点:

(1)len(),可以获得字符串的长度,但是用在数字上就会报错;

(2)"hello"[3]=l ;  下标为01234;

(3)空值类型   NoneType ,表示完全没有值,不是空格,不是0,也不是空"";

        定义某个变量为None   eg:n=None

(4)type()返回数据的类型,eg:type("Hello")  

(5)int()用于强制类型转换,把字符串中的数字变成整型数字,所以原字符串里不是数字时,不能进行转换,会报错

(6)连在一起的两个除号是除完再取整的意思,即 3 / 2 = 1.5 , 3 / / 2 = 1 ;

 

Python的两种模式:

命令行模式和交互模式

(1)命令行模式:写好命令后,保存并运行整个文件。运行时,解释器一行一行对文件进行解析和执行。

(2)交互模式:输入一行,显示一行结果

优点1:不需要创建任何Python文件就可以运行

优点2:不需要用print()就可以看见返回结果

原因:交互模式里的命令不会被保存。一旦退出,所有键入的内容都不会保存。

Python的用户问答互动程序:

 字符串和数字不能相连,当数字需要和字符串相连时,要把数字转换为字符串,用str();

当字符串转换为数字时,前提是字符串本身能转换为数字,比如“8”这个字符串,用int();

eg:int("9")

Python条件语句

(1)单个判断

 

 冒号和缩进!

 如果条件成立需要执行的代码不止一句,可以在下一行同样缩进,会被认为是同一个判断需要执行的内容;

默认缩进四个空格;

当字符串和数字进行比较时,不要忘了转换。(同上)

(2)嵌套判断

根据缩进判断语句属于哪个分支;

(3)多个条件判断

中间多个条件用   elif [条件]:   连接;

且数学里的左右两边同时有不等式的形式Python仍可以用.

Python的逻辑运算:

(1)逻辑与:and,

(2)逻辑或: or

(3)逻辑非:not

优先级:not>and>or

 Python列表

#列表
list=["你","我"]
#添加。调用方法,对象.方法名();调用函数,函数名(对象)
list.append("他")
print(list)
#列表是可变的,但是基本数据类型不是
s="Hello"
print(s.upper())
print(s)
#删除,要求需要删除的元素确实在列表里存在
list.remove("我")
print(list)
#列表里可以放不同元素的数据
list.append(999)
print(list)
#len()求长度
print(len(list))
#可以直接利用索引查找元素
print(list[2])
num_list=[0,-1,9,-3]
#内置函数
print(max(num_list))
print(min(num_list))
print(sorted(num_list))   #升序排列

 

 Python字典

#键-值对;空的字典:contacts={}
#键值之间用冒号分隔
#注意:键的类型必须是不可变的,所以不能是列表
contacts={"小明":"199999",
          "小花":"188888"}
#获取某个键的值:
contacts["小明"]
#元组 tuple。不可变但是很像列表的数据结构,区别是,元组用圆括号,中间同样可放多个元素
#由于元组不可变,添加删除等操作都不可进行
tuple1=("你","我")
#添加键对,(当该键在字典中不存在时产生添加功能),如果键本身存在,发生覆盖
contacts["美女!"]="1987"
print(contacts)
#键 in 字典,会返回一个bool值
print("小明" in contacts)
print("我呀" in contacts)
#删除一个键值对用del,若想删除的键本身不存在就会报错
del contacts["小明"]
print(contacts)
#len()可用于求字典中的元素个数
print(len(contacts))

循环 

Python for循环

格式:

for 变量名 in 可迭代对象

        #对每个对象做的事情

 

(1)字典名.keys()      #返回所有键

(2)字典名.values()   #返回所有值

(3)字典名.items()     #返回所有键值对

for结合items()时,变量会被赋值为键和值组成的元组

4)for循环结合range()

range表示整数序列。

range(5,10)      #第一个元素表示起始值,第二个元素表示结束值(!该值不在序列的范围内)

range(1,10,2)   #第三个元素表示步长,就是每次跨几个数字,不指明的时候默认为1。

#(1)for与列表
list=[39.6,34,37,38]
for temperature in list:
    if temperature >=37:
        print(str(temperature)+"完蛋了")
#(2)for与元组
list2={"对象1":39.8,"对象2":37.9,"对象3":40}
#相当于把键赋值给it,值赋值给wd
for it,wd in list2.items():
   if wd>=38 :
        print(it+"发烧了")

"""    
相当于:
for tuple in list2.items():
 it=tuple[0]
 wd=tuple[1]
 if wd>=38:
    print(it+"发烧了")
 """
#(3)for与range()
for i in range(5,10):
    print(i)
for i in range(1,10,2):
    print(i)
    total=0
#计算1+2+3+...+101
for i in range(1,101):
    total+=i

print(total)

 Python While循环

语句模式:

While 条件:

        行动

list1=["你","好","吗","兄","弟"]
#for循环实现
for it in list1:
    print(it)
#for+range()实现,it表示下标数字,在本循环内可自加,起始值默认为0
for it in range(len(list1)):
    print(list1[it])
#while 循环实现
i=0
while i <len(list1):
    print(list1[i])
    i+=1


在有明确循环次数时,常用for;在循环次数未知时,常用while

Python格式化字符串

实现一:

 (一)format 方法

(1)根据字典序(即位置)。花括号表示被替换的位置,里面的数字表示会用format里的第几个参数进行替换。{0}表示format中的第一个参数,{1}表示第二个参数

 (2)根据关键字指定进行替换的对象,format里的参数位置就不用在意了。

 (3)参数名可以重复用到字符串里。分清:等号前面的是关键字,对应花括号里面的关键字;后面的是参数值

(二)f-字符串

在字符串前加前缀f,花括号会被直接求值,带入变量本身的值

 (三)用数字对字符串进行格式化

Python 函数的定义

def 函数名 (参数列表):

        #定义函数的代码:

 未写返回语句时,默认函数返回为return None

(print()、.append()的语句,默认返回值为None)

 Python引入模块

(1)import 语句

import 模块名

模块名.函数名()

模块名.变量名()

(2)   from...import... 语句

from 模块名 import  函数名(或者变量名),函数名 

优点:调用时不用写模块名

(3) from...import.*.. 语句

把模块里面所有内容都进行引入,使用时,都不需要在前面加上模块名了

但是不推荐,因为可能会有命名冲突

#import 语句
import statistics
print(statistics.median([0,9,-5,7,2]))
print(statistics.mean([-9,8,9]))
#from...import..语句
from statistics import median,mean
print(median([2,6,7,8,9]))
#from 模块 import *

在Pycharm里按住ctrl,点击函数名,就可以看到别人写的函数源代码

(4)使用第三方模块的时候,需要先从互联网上安装,然后再用import引入

pypi.org这个网站可以对第三方库进行搜索

安装的话,到终端,输入pip install 再加上库的名字

面向对象

Python的面向对象编程

(一)定义类名,命名风格:

(1)下划线命名法,user_name

适用于变量名

(2)Pascal命名法

适用于类名,eg:UserAccount

(二)定义构造函数

self 可以把属性值绑定到对象自身上,调用构造函数时,不需要手动传入self的值

calss CuteCat:

#默认构造函数,第一个参数约定为self,表示参数自身。注意!init前后都是两个下划线组成的

        def __init__( self )       
                self.name=None

        def  __init__(self , cat_name):

                self.name=cat_name

(三)定义方法

第一个参数值为self,作用:可以获取或修改和对象绑定的属性

class CuteCat:
    def __init__(self):
        self.name='Bailey'
        self.age=5
    def speak(self):
        print("喵"*self.age)
cat1 =CuteCat()
print(f"{cat1.name}")
cat1.speak()

 

class Student:
    def __init__(self,name,id):
        self.name=name
        self.id=id
        self.grade={"语文":0,"数学":0,"英语":0}
    def set_grade(self,course,grades):
        if course in self.grade:
            self.grade[course]=grades
    def print(self):
        print(f"学生:{self.name},(学号为:{self.id})的成绩是:")
        for it in self.grade:
            print(f"{it}:{self.grade[it]}分")

chenmou=Student("小陈","7204")
zhangnn=Student("老张","7799")
chenmou.set_grade("数学","84")
zhangnn.set_grade("英语","98")
zhangnn.print()

chenmou.print()

 Python类的继承

在类名后加括号(),里面写上父类的名字

class Human(Mammal):

        #类内的方法 

class Mammal:
    def __init__(self,name,sex):
        self.name=name
        self.sex=sex
        self.num_eyes=2
    def breathe(self):
        print(f"{self.name},在呼吸")
    def poop(self):
        print(self.name+"在拉屎")
class Human(Mammal):
    def __init__(self,name,sex):
        super().__init__(name,sex)
    def read(self):
        print(self.name+"在阅读")

chenmou=Human("小陈","男")
chenmou.read()
chenmou.poop()

文件

Python文件路径

(1)绝对路径

以 / 开头,路径中的每个目录之间用 / 进行分隔,最后以目标文件或者目标目录结尾

Windows系统下,以区名加 / 开头,其余同上

eg:C:\Users\admin

(2)相对路径

从一个参考位置出发,从该位置看,其他文件属于什么路径

用 . 表示相对文件所在的目录,父目录用..  ,在往上用..\..(Windows下是\,Unix用/)

往下走,用./data  ./data/a.py等描述;./可以省略,用文件名加/    eg:data/pp

Python的文件操作

#括号内的是(文件路径,文件操作,编码方式),用此编码方式来读取值
#open函数执行成功会返回一个文件对象,可以对他进行操作

#(1)read方法,一次性读取文件里的所有内容,并已字符串的形式进行返回

file=open(".\就是你.txt","r",encoding="utf-8")
print(file.read(6))
file.close()

#再次调用read时,返回为空,会读空字符串并打印,因为之前已经读到文件结尾了
#!在文件特别大的时候不要用read,会占很大的内存
#!可以给read()里传一个数字,表示读取多少字节,再次执行该语句,会接着上次的位置往下读
#!读的时候换行符也被读进去了,算一个字节


#(2)readline(),每次读取一行。根据换行符判断本行结尾。

#!读的时候换行符也被读进去了,算一个字节,当作内容的一部分
#当读到文件结尾时,会返回空字符串,可用做文件读取结束的判断。同上。
#
f=open(".\就是你.txt","r",encoding="utf-8")
line=f.readline()
while line!="":
    print(line)
    line=f.readline()

# (3)readlines()会读取全部文件内容,并返回由每行组成的字符串列表
#
kk=open(".\就是你.txt","r",encoding="utf-8")
K=kk.readlines()
for line in K:
    print(line)

encoding默认是跟随系统的

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Kubernetes-in-action (一)

Kubernetes-in-action (一) 链接为书内容中对应代码的地址&#xff1a;https://github.com/luksa/kubernetes-in-action 前置之 docker 基础 安装docker使用docker安装镜像、进入镜像&#xff0c;查看进行信息docker build -t kubia . # 使用当前目录的Dockerfile构建镜像&…

m基于Matlab的fir和iir数字滤波器的设计与仿真

目录 1.算法概述 2.仿真效果预览 3.MATLAB部分代码预览 4.完整MATLAB程序 1.算法概述 MATLAB系统供了许多工具箱&#xff08;Toolbox&#xff09;&#xff0c;借助于信号处理工具箱&#xff08;signal processing&#xff09;中的freqz_m&#xff0c;remez等函数&#xff0…

软件测试 | 测试工程师都能看懂的redis,进阶测试开发工程师......

目录&#xff1a;导读前言一、Redis是什么&#xff1f;为啥性能好&#xff1f;二、数据类型&#xff1f;常见的命令&#xff1f;1、String 字符串类型2、Hash 数据类型3、List 链表数据4、Set 无序集合类型5、Zset 有序集合类型三、有几种持久化方式&#xff1f;优缺点?四、数…

Flink-输出算子(Sink)使用

5.5 输出算子 5.5.1 概述 print也是一种输出类PrintSinkFunction 创建了一个PrintSinkFunction操作&#xff0c;然后调用addSink方法的作为传入参数 PrintSinkFunction这个类继承自RichSinkFunction富函数类 RichSourceFunction类 继承了AbstractRichFunction富函数类 …

springboot2整合开发流程示例

1.整体开发逻辑 初始配置示例 开发文件示例 2.开发过程问题 ①默认配置路径 thymeleaf默认解析静态资源路径为 /templates/** ②mybatisplus核心工作原理 mapper继承的BaseMapper中声明了CRUD操作service接口继承的IService接口中抽象方法简单封装了CRUD操作 传入了类&a…

Win10系统如何安装配置maven

【原文链接】Win10系统如何安装配置maven &#xff08;1&#xff09;若未装jdk&#xff0c;可先参考 Win10系统下载安装配置JDK1.8 安装jdk8 &#xff08;2&#xff09;从 maven下载地址 &#xff0c;下载maven&#xff0c;如下&#xff0c;可以下载最新版本&#xff0c;也可…

【JVM】JVM详解

目录一.JVM概述1.jvm简介2.jvm作用3.jvm的内存模型二.类加载器1.类加载器的作用2.加载器的类型3.双亲委派机制的运行过程(面试题)三.JVM内存模块1.方法区2.堆3.栈(虚拟机栈)4.栈(本地方法栈)5.OutOfMemoryError内存溢出和StackOverFlowError栈溢出及解决方法(面试题)(1).OutOfM…

利用ogg微服务版将oracle同步到kafka

ogg微服务版可以再界面上配置抽取、复制进程&#xff0c;不必进入到shell中进行配置&#xff0c;并且图形化界面可以看到更多信息。 系统架构 源端安装ogg for oracle 19C , 目标端安装ogg for bigdata 21C kafka 2.2 数据库&#xff1a;19C 所有软件安装在同台服务器上&#…

操作系统4小时速成:文件管理,文件结构,属性,基本操作,逻辑有无结构,目录结构,文件系统

操作系统4小时速成&#xff1a;文件管理&#xff0c;文件结构&#xff0c;属性&#xff0c;基本操作&#xff0c;逻辑有无结构&#xff0c;目录结构&#xff0c;文件系统 2022找工作是学历、能力和运气的超强结合体&#xff0c;遇到寒冬&#xff0c;大厂不招人&#xff0c;可能…

2397. 被列覆盖的最多行数-深度优先枚举+二进制检索

2397. 被列覆盖的最多行数-深度优先枚举二进制检索 给你一个下标从 0 开始的 m x n 二进制矩阵 mat 和一个整数 cols &#xff0c;表示你需要选出的列数。 如果一行中&#xff0c;所有的 1 都被你选中的列所覆盖&#xff0c;那么我们称这一行 被覆盖 了。 请你返回在选择 co…

Spring Security内部工作原理

定义 Spring 安全性是 Spring提供的一个框架&#xff0c;有助于自定义访问和身份验证过程。它在保护应用程序方面起着非常关键的作用。 Spring 安全性&#xff0c;主要侧重于身份验证和授权&#xff0c;为 Java 应用程序提供所有好处。它非常有用&#xff0c;并提供了一种在实…

抑制细胞代谢紊乱的抑制剂

作者团队发现&#xff0c;缺乏 CD4 T 细胞能保护小鼠免受应激诱导的焦虑样行为&#xff0c;物理应激诱导的白三烯 B4 (LTB4) 触发 CD4 T 细胞中的严重线粒体裂变&#xff0c;进而导致各种行为异常&#xff0c;包括焦虑&#xff0c;抑郁和社交障碍。代谢组和单细胞转录组学显示…

Android App实战项目之实现手写签名APP功能(附源码,简单易懂 可直接实用)

运行有问题或需要源码请点赞关注收藏后评论区留言~~~ 一、跟踪滑动轨迹实现手写签名 手写签名的原理是把手机屏幕当作画板&#xff0c;把用户手指当作画笔&#xff0c;手指在屏幕上划来划去&#xff0c;屏幕就会显示手指的移动轨迹&#xff0c;就像画笔在画板上写字一样&#…

安装free IPA与CDH6.3.2结合

主机名之类的应该在cdh安装的时候就配好了 不再赘述 安装freeipa yum -y install nscd 修改 enable-cache netgroup no enable-cache group no enable-cache passwd no 云主机默认不开启IPv6&#xff0c;根据提…

小 A 的卡牌游戏(Gym - 103186B)

题 小A最近沉迷于-款名为Hearthverse的卡牌游戏。在这款游戏中&#xff0c;卡被分为了三个种类(随从、法术和魔法阵)&#xff0c;在组卡时&#xff0c;这款游戏严格规定了卡组中每种卡牌的数量&#xff0c;具体来说&#xff0c;-副n张卡的卡组需要包含恰好a张随从卡&#xff0…

Tdengine技术实践

1. 什么是时序数据库&#xff1f; 时序数据库全称为时间序列数据库。 即时间序列数据&#xff0c;按时间维度顺序记录且索引的数据。 时间序列数据主要由 电力行业、化工行业、气象行业、地理信息 等各类型实时监测、检查与分析设备所采集、产生的数据&#xff0c;这些工业数…

配置Maven环境

Maven官网 Maven所有发行版本 一、windows配置maven环境 想要使用maven就必须要有JDK JDK安装 百度网盘下载&#xff08;二进制文件&#xff0c;一直点下去&#xff09; 链接&#xff1a;https://pan.baidu.com/s/1y1AutzJeQGdNHa2ml_bk8w 提取码&#xff1a;scyc验证JDK是…

【Java八股文总结】之Java基础

写在前面&#xff1a; 整份Java八股文的整理贯穿我的整个秋招&#xff0c;希望可以给大家带来帮助&#xff0c;如果对你有一定的作用&#xff0c;欢迎大家转发点赞&#xff0c;谢谢&#xff01;在复习Java八股文的过程中&#xff0c;有两位老哥的博文对我帮助比较大&#xff0c…

力扣(LeetCode)10. 正则表达式匹配(C++)

动态规划 基于闫式dp分析法。 综上 , f[i][j]{f[i−1][j−1]&&(s[i]p[j]∣∣′.′p[j])if p[j]≠∗f[i][j−2]∣∣(f[i−1][j]&&(s[i]p[j−1]∣∣′.′p[j−1])if p[j]∗f[i][j] \begin {cases} f[i-1][j-1] ~~\&\& ~~(s[i]p[j] ~||~ .p[j])&…

鲁棒局部均值分解 (RLMD)附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法 …