Python基础

基本语法

格式符号 转化
%s 将内容转换成字符串,放入站位位置
%d 将内容转换成整数,放入站位位置
%f 将内容转换成浮点数,放入站位位置

数据类型

类型 描述 说明
数字(Number) 支持 + 整数(int) + 浮点数(float) + 复数(complex) + 布尔(bool) + 整数(int),如:10、-10 + 浮点数(float),如:13:14、-13.14 + 复数(comples),如:4+3j,以结尾表示复数 + 布尔(bool)表达现实生活中的逻辑,即真和假,True表示真,False表示假。 True本质上是一个数字1,False记作0
字符串(String) 描述文本的一种数据类型 字符串(String)由任意数量的字符组成
列表(List) 有序的可变序列 Python中使用最频繁的数据类型,可有序记录一堆数据
元组(Tuple) 有序的不可变序列 可有序记录一堆不可变的Python数据集合
集合(Set) 无序不重复集合 可无序记录一堆不可重复的Python数据集合
字典(Dictionary) 无序Key-Value集合 可无序记录一堆Key-Value型的Python数据集合

基础语句

整数

python 复制代码
print(10)
bash 复制代码
10
 
=== 代码执行成功 ===

浮点数

python 复制代码
print(12.34)
bash 复制代码
12.34
 
=== 代码执行成功 ===

字符串

python 复制代码
print("hello world")
bash 复制代码
hello world
 
=== 代码执行成功 ===

变量

  • 在程序执行过程中能够存储计算结果或者能够表现值的一个抽象概念
python 复制代码
name = "小明"
print(name)

b=1
c=2
a = b+c
print(a)
bash 复制代码
小明
3
 
=== 代码执行成功 ===
  • 输出变量类型
python 复制代码
name = '小明'
print(type(10))

print(type(name))

num = "123"
print(int(num))
bash 复制代码
<class 'int'>
<class 'str'>
123

=== 代码执行成功 ===

字符串的拼接

python 复制代码
name = "小明"
age = 18
money = 20.5
message = '我是 %s,年龄 %d 岁,我身上有 %f 块钱' % (name, age, money)
print(message)
bash 复制代码
我是 小明,年龄 18 岁,我身上有 20.500000 块钱
 
=== 代码执行成功 ===

布尔值

运算符 描述 示例
== 判断内容是否相等,满足为True,不满足为False 如a=3,则(a == b)为True
!= 判断内容是否不相等,满足为True,不满足为False 如a=1,b=3,则(a != b)为True
> 判断运算符左侧内容是否大于右侧满足为True,不满足为False 如a=7,b=3,则(a > b)为True
< 判断运算符左侧内容是否小于右侧满足为True,不满足为False 如a=3,b=7,则(a < b)为True
>= 判断运算符左侧内容是否大于等于右侧满足为True,不满足为False 如a=3,b=3,则(a >= b)为True
<= 判断运算符左侧内容是否小于等于右侧满足为True,不满足为False 如a=3,b=3,则(a <= b)为True
python 复制代码
name = True
age = False
print(name)
print(age)
bash 复制代码
True
False
 
=== 代码执行成功 ===
python 复制代码
a = 1
b = 3
c = a == b
d = (a != b)
print(c)
print(d)
bash 复制代码
False
True

=== 代码执行成功 ===

逻辑判断

逻辑运算符 含义 使用示例 说话
and 逻辑与运算,等价于数字中的"且" a and b 当a和b两个表达式都为真时,a and b的结果才为真,否则为假
or 逻辑或运算,等价于数学中的"或" a or b 当a和b两个表达式都为假时,a or b的结果才为假,否则为真
not 逻辑非运算,等价于数学中的"非" not a 如果a为真,那么not a的结果为假
python 复制代码
a = 15>10 and 15>7
print (a)

b = 15<10 and 15>7
print (b)

c = 15<10 or 15>7
print (c)

d = not False
print (d)
bash 复制代码
True
False
True
True
 
=== 代码执行成功 ===

判断语句

python 复制代码
age = 10
if age > 10:
    print("年龄大于10岁")
else:
    print("年龄小于等于10岁")
bash 复制代码
年龄小于等于10岁
 
=== 代码执行成功 ===

循环语句

while循环

python 复制代码
i = 0
while i < 10:
    print(i)
    i = i + 1
bash 复制代码
0
1
2
3
4
5
6
7
8
9
 
=== 代码执行成功 ===

for循环

python 复制代码
name = "123456"
for x in name:
    print(x)
bash 复制代码
1
2
3
4
5
6
 
=== 代码执行成功 ===

break语句

  • break语句,当num等于2时,跳出循环
python 复制代码
for num in range(5):
    if (num == 2):
        break
    print(num)
bash 复制代码
0
1
 
=== 代码执行成功 ===

函数

定义:组织好的,可重复使用的,用来实现特定功能的代码段。

无参函数

  • 定义函数,函数体内的代码需要缩进,调用函数时需要使用函数名加括号,如果函数有参数,需要在括号内传入参数值
python 复制代码
def say():
    print("Hello, World!")

say()
bash 复制代码
Hello, World!
 
=== 代码执行成功 ===

有参函数

python 复制代码
def add(x,y):
    z = x + y
    print(z)

add(1,2)

def abb(a,b):
    c= a + b
    return c

result = abb(2,2)
print(result)
bash 复制代码
3
4
 
=== 代码执行成功 ===
python 复制代码
def user_info(name, age, gender):
    print(f"姓名:{name},年龄:{age},性别:{gender}")

user_info("小明", 18, "男")
user_info("小明", 18, gender="男")
bash 复制代码
姓名:小明,年龄:18,性别:男
姓名:小明,年龄:18,性别:男
 
=== 代码执行成功 ===

不定长参数

  • 参数不确定的函数,使用*args和**kwargs来接收参数,*args接收位置参数,**kwargs接收关键字参数。
python 复制代码
def user_info(*args):
    print(args)

user_info("小明", 18, "男")

def user_info2(**kwargs):
    print(kwargs)

user_info2(name="小明", age=18 , gender="男")
bash 复制代码
('小明', 18, '男')
{'name': '小明', 'age': 18, 'gender': '男'}
 
=== 代码执行成功 ===

数据容器

python 复制代码
my_list = ["a", 2, True, ["hello", 3]]
print (my_list)
#列表的索引从0开始,依次类推,my_list[0]表示第一个元素,my_list[1]表示第二个元素,以此类推。
print(my_list[0])
print(my_list[1])
print(my_list[2])
print(my_list[3])
#列表的索引可以是负数,-1表示最后一个元素,-2表示倒数第二个元素,以此类推。
print(my_list[-1])
print(my_list[-2])
#列表的index方法可以返回指定元素在列表中的索引位置,如果元素在列表中不存在,则会抛出ValueError异常。
print(my_list.index(2))
bash 复制代码
['a', 2, True, ['hello', 3]]
a
2
True
['hello', 3]
['hello', 3]
True
1
 
=== 代码执行成功 ===

列表

python 复制代码
#列表是可变类型,可以修改列表中的元素,使用索引来访问列表中的元素,然后进行修改。
my_list[0] = "b"
print(my_list)
#列表的insert方法可以在指定位置插入元素,第一个参数表示插入位置的索引,第二个参数表示要插入的元素。
my_list.insert(1,"c")
print(my_list)
bash 复制代码
['b', 2, True, ['hello', 3]]
['b', 'c', 2, True, ['hello', 3]]

遍历 list

  • 通过for循环来遍历列表,直接访问列表中的元素,然后进行操作。
python 复制代码
for x in my_list:
    print(x)
bash 复制代码
b
c
2
True
['hello', 3]

取列表部分数据

python 复制代码
my_list3 = [1, 2, 3, 4, 5]
#列表的切片操作,my_list3[1:4:1]表示从索引1开始到索引4结束,步长为1,返回一个新的列表。
new_list3 = my_list3[1:4:1]
print(new_list3)
bash 复制代码
[2, 3, 4]
  • 列表的切片操作,my_list3[:]表示从索引0开始到索引结束,步长为1,返回一个新的列表。
python 复制代码
new_list3 = my_list3[:]
print(new_list3)
bash 复制代码
[1, 2, 3, 4, 5]
  • 列表的切片操作,my_list3[::2]表示从索引0开始到索引结束,步长为2,返回一个新的列表。
python 复制代码
new_list3 = my_list3[::2]
print(new_list3)
bash 复制代码
[1, 3, 5]
  • 列表的切片操作,my_list3[::-1]表示从索引0开始到索引结束,步长为-1,返回一个新的列表,列表中的元素顺序颠倒。
python 复制代码
new_list3 = my_list3[::-1]
print(new_list3)
bash 复制代码
#列表的切片操作,my_list3[::-1]表示从索引0开始到索引结束,步长为-1,返回一个新的列表,列表中的元素顺序颠倒。
new_list3 = my_list3[::-1]
print(new_list3)

字典key-value

  • 字典是由键值对组成的无序集合,使用花括号{}来定义,键和值之间使用冒号:分隔,多个键值对之间使用逗号,分隔。
python 复制代码
my_dict = {"小明":18, "小红":20, "小刚":22}
print(my_dict)
print(my_dict["小明"])

my_dict["小李"] = 25
print(my_dict)

模块与包

一个Python文件,以py结尾,能定义函数,类和变量,也能包含可执行的代码。

我们可以认为不同的模块就是不同工具包,每一个工具包都有各种不同的工具(如函数)供我们使用进而实现各种不同的功能。

模块使用方法

python 复制代码
import 模块名
from 模块名 import 类、变量、方法等
from 模块名 import *
import 模块名 as 别名
from 模块名 import 功能名 as 别名
  • 创建一个custom_model.py文件
python 复制代码
def add_plus(x,y):
    res = x + y
    print(res)

def sub_plus(x,y):
    res = x - y
    print(res)
  • 创建一个test.py文件,在这个文件中会引用custom_model这个模块,然后调用其中的函数
  • import 模块名
python 复制代码
import custom_model
ustom_model.add_plus(1, 2)
  • from 模块名 import 类、变量、方法等
python 复制代码
from custom_model import add_plus
add_plus(1, 2)
  • from 模块名 import *
python 复制代码
from custom_model import *
add_plus(1, 2)
sub_plus(5, 3)
  • from 模块名 import 类、变量、方法等 as 别名
python 复制代码
from custom_model import add_plus as ap
ap(1, 2)
  • import 模块名 as 别名
python 复制代码
import custom_model as cm
cm.add_plus(1, 2)
cm.sub_plus(5, 3)

包就是一个文件夹,在该文件夹下包含了一个_int_.py文件,该文件可用于包含多个模块文件。

从逻辑上看,包的本质依然是模块。模块的集合。

面向对象

类-实体(属性,函数/方法)

python 复制代码
# 创建类
class 类名称:
  类的属性(成员变量)
  类的行为(成员方法)

# 基于类创建对象
  对象名 = 类名称()

# 调用
对象名.成员变量
对象名.成员方法()

示例

python 复制代码
#定义一个类,使用class关键字来定义,类名需要遵循驼峰命名法,类体内的代码需要缩进。
class Student:
    name = None
    sex = None
#定义一个方法,方法体内的代码需要缩进,调用方法时需要使用对象名加点号加方法名,如果方法有参数,需要在括号内传入参数值。
    def say(self):
        print(f"大家好,我是{self.name}")
    def say_hi(self, msg):
        print(f"大家好,我是{msg}")
#创建一个对象,使用类名加括号来创建对象,创建对象时会调用类的构造方法__init__,如果类中没有定义构造方法,则会使用默认的构造方法。
stu = Student()
stu.name = "小明"
stu.say()
stu.say_hi("小红")
相关推荐
Eward-an2 小时前
【算法竞赛/大厂面试】盛最多水容器的最大面积解析
python·算法·leetcode·面试·职场和发展
no_work2 小时前
基于python预测含MLP决策树LGBM随机森林XGBoost等
python·决策树·随机森林·cnn
进击的雷神2 小时前
地址语义解析、多语言国家匹配、动态重试机制、混合内容提取——德国FAKUMA展爬虫四大技术难关攻克纪实
爬虫·python
FreakStudio2 小时前
一行命令搞定驱动安装!MicroPython 开发有了自己的 “PyPI”包管理平台!
python·stm32·单片机·嵌入式·arm·电子diy
biubiubiu07062 小时前
Linux / Ubuntu systemd 服务使用说明
linux·运维·ubuntu
Barkamin2 小时前
队列的实现(Java)
java·开发语言
hixiong1233 小时前
C# OpenvinoSharp使用RAD进行缺陷检测
开发语言·人工智能·c#·openvino
小浪花a3 小时前
计算机二级python-jieba库
开发语言·python
Storynone3 小时前
【Day23】LeetCode:455. 分发饼干,376. 摆动序列,53. 最大子序和
python·算法·leetcode