Python基础语法

本篇文章是我的学习笔记,内容写的很随意。如果你想学习Python,不要看。

一.变量

1.变量类型

|-----|--------------------------------------------|
| 整数 | int类型的数据范围没有上限,只要内存足够,可以存储特别大的数 |
| 浮点数 | 只有一种类型float,没有double,但是这个跟其他语言的double没什么区别 |
| 字符串 | 使用 ' ' 或者 " " 括起来的 |
| 布尔 | True和False |

2.动态类型

python的数据类型可以在运行时发生变化,也就是我们定义一个a,开始时a是int类型,后面可以变成float:

python 复制代码
a=134
print(a)
a=123.123
print(a)

二.输入输出

1.输入

使用input函数输入:

python 复制代码
b=input()
c=input("输入一个整数:")

input 的参数相当于一个 "提示信息",不写也可以。

注意:input 的返回值****是字符串类型,如果后续要操作,要强转类型。

2.输出

使用print函数输出

输出变量:

python 复制代码
print(a)

输出a=123:

python 复制代码
a=123
print(f'a = {a}')

使用 f 作为前缀的字符串,称为 f-string;{ } 来内嵌一个其他的变量/表达式。

三.运算符

1.算数运算符

1)整数/整数不会截断,比如1/2不是等于0,而是等于0.5;

2)**可以用来算乘方,2 ** 2,2**0.5,都可以;

3)//是取整除法,得到的是整数,会向下取整,比如:7 // 2=3,-7 // 2=-4;

2.关系运算符

整数和浮点数不用说,这里说一下字符串。

==和!=可以判断两个字符串的是否相等,是否不相等。

>,<等可以根据字符串字典序比较大小。

但是要注意==不可以判断浮点数是否相等

3.逻辑运算符

|-----|----|
| and | 与 |
| or | 或 |
| not | 取反 |

4.赋值运算符

连续赋值:

python 复制代码
a=b=10

多元赋值:

python 复制代码
a,b=10,12

两个变量交换

python 复制代码
a,b=b,a

注意python中没有++,--这种运算符。

四.条件语句

1.语法格式

1)if

python 复制代码
if expression:
    print(123)

2)if-else

python 复制代码
if expression:
    print(123)
else:
    print(456)

3)if-elif-else

python 复制代码
if expression:
    print(123)
elif expression2:
    print(456)
else:
    print(789)

观察上面代码,发现有下面几点与其他语言不同:

1)if后面的条件表达式没有括号了,同时{}没了,变成了:

2)多条件分支不是使用else if,而是使用elif

2.空语句

可以使用pass占一个位置:

python 复制代码
if expression:
    pass
else:
    print(123)

五.循环语句

1)while

直接举个例子:

python 复制代码
while num <= 5:
    num += 1

2)for

基本格式:

python 复制代码
for 循环变量 in 可迭代对象:
    循环体

举个例子,打印1-10:

python 复制代码
for i in range(1,11):
    print(i)

使用range函数可以生成[1,11)

打印2,4,6,8,10:

python 复制代码
for i in range(2,12,2):
    print(i)

range后面还可以规定每次递增的大小

注意:if/while/for内定义变量,在其外部也能使用,这个和其他语言是不一样的。

六.函数

1)语法格式

直接举例子:

python 复制代码
def test():
    return 123

def test(a):
    return a

函数要先定义再使用。

2)参数

参数不用定义类型,动态类型,传什么是什么。

可以个参数设定一个默认值,在没有传这个参数的时候就使用这个参数:

python 复制代码
def test(a,b,c=True):
    if c:
        print(a)
    else:
        print(b)

可以通过关键词参数来指定传递,这样就算不按照顺序来也行:

python 复制代码
def test(a,b):
    print(a)
    print(b)
    
test(b=1,a=2)

3)返回值

这个nb了,可以一下返回多个值

python 复制代码
def test():
    x=1
    y=2
    return x,y

这个可以说是我梦寐以求的功能。

如果只想要其中某个返回值,在接收的时候可以使用_跳过:

python 复制代码
def test():
    x=1
    y=2
    return x,y

_,b=test()

如果是想在函数内部,修改全局变量的值,需要使用 global 关键字声明,如果不用这个变量就会被当作函数内的局部变量,无法更改全局变量的值。

七.列表

1)创建

两种方法都行:

python 复制代码
alist1=[]

alist2=list()

里面可以存储不同的类型。

2)下标

下标可以是负数,表示倒数第几个元素。

3)切片操作

通过切片可以取出一组连续的元素,相当于取出子序列。

常规写法:

python 复制代码
alist1=[1,2,3,4,5,6]
print(alist1[0:3])

表示从下标0遍历到下标2位置。

忽略前后边界:

python 复制代码
alist1=[1,2,3,4,5,6]
# 从头遍历到最后
print(alist1[0:])
print(alist1[:6])
print(alist1[:])

规定自增大小:

python 复制代码
alist1=[1,2,3,4,5,6]
# 从头遍历每次下标+2
print(alist1[::2])
# 从尾遍历每次下标-2
print(alist1[::-2])

增加元素:

python 复制代码
alist1=[1,2,3,4,5,6]
# 在尾部插入7
alist1.append(7)
# 在0下标插入3
alist1.insert(0,3)

查找元素:

python 复制代码
alist1=[1,2,3,4,5,6]
# in 用来判断in前面的是不是在集合之中
print(2 in alist1)
# index 查询元素所在的下标
print(alist1.index(3))

删除元素:

python 复制代码
alist1=[1,2,3,4,5,6]
# pop()可以删除尾部元素
alist1.pop()
# pop(n)可以删除指定下标n的元素
alist1.pop(0)
# remove(n)可以删除值为n的元素
alist1.remove(3)

连接列表:

python 复制代码
alist1=[1,2,3,4,5,6]
alist2=[7,8,9]
# 将两个链表合并
alist3=alist1+alist2
# 将链表2加在1的后面
alist1.extend(alist2)

八.元组

元组的功能与列表是基本一致的,但是元组不能修改集合中的元素,列表可以。

元组在很多时候是默认的集合类型,比如一个函数返回多个值的时候。

九.字典

1)创建

python 复制代码
hash1={ }
hash2=dict()

2)查找

python 复制代码
hash={
    "id":1,
    "name":"Tom"
}
# in 判断in前面的key是不是在集合中
print("id" in hash)
# 通过key取value
print(hash["id"])

3)增加/更新元素

python 复制代码
hash={
    "id":1,
    "name":"Tom"
}
# 如果新增的key没在集合中,添加新的
hash["class"]=1
# 如果新增的key已经存在在集合中,更新key的value
hash["id"]=2

4)删除元素

python 复制代码
hash={
    "id":1,
    "name":"Tom"
}
hash.pop("id")

5)取出key和value

python 复制代码
hash={
    "id":1,
    "name":"Tom"
}
hash.keys()
hash.values()
# 获取所有键值对
hash.items()

十.文件操作

1)打开文件

python 复制代码
f=open("C:/code/test.txt","r")

第一个参数是要打开的文件的路径;

第二个参数是打开方式,r是读的方式,w是写的方式,a是追加写的方式

2)关闭文件

python 复制代码
f.close()

一个程序能同时打开的文件数量是有上限的

3)写文件

python 复制代码
f=open("C:/code/test.txt","w")
f.write("Hello World")
f.close()

这里要注意,如果我们在打开文件的时候第二个参数选择w,那么我们在下次再打开这个文件的时候,文件的内容会被清除。

如果我们不想清楚,要使用a(追加写)。

4)读文件

python 复制代码
f=open("C:/code/test.txt","r")
# 从文件中读两个字符
result=f.read(2)
print(result)
f.close()

readlines可以将整个文件读出来,返回的结果是一个列表,每一行是一个元素:

python 复制代码
f=open("C:/code/test.txt","r")
result=f.readlines()
print(result)
f.close()

如果我们在本地的文本文件写中文读取时可能会出现乱码的情况,整个时候我们可以指定字符集:

python 复制代码
f=open("C:/code/test.txt","r",encoding='utf8')
result=f.readlines()
print(result)
f.close()

如果容易忘记关闭文件怎么办?Python提供了上下文管理器,我们使用with打开文件,当with内部代码执行完后会自动调用关闭方法:

python 复制代码
with open("C:/code/test.txt","r",encoding='utf8') as f:
    result=f.readlines()
    print(result)
相关推荐
我是小伍同学14 分钟前
基于卷积神经网络和Pyqt5的猫狗识别小程序
人工智能·python·神经网络·qt·小程序·cnn
zxctsclrjjjcph3 小时前
【高并发内存池】从零到一的项目之centralcache整体结构设计及核心实现
开发语言·数据结构·c++·链表
zm4 小时前
服务器多客户端连接核心要点(1)
java·开发语言
winfredzhang4 小时前
使用Python 打造多格式文件预览工具 — 图、PDF、Word、Excel 一站式查看
python·pdf·word·excel·照片·查看,zip,复制
浩皓素4 小时前
Python连接云端服务器:基于Paramiko库的实践与问题剖析
python
炯哈哈4 小时前
【上位机——MFC】单文档和多文档视图架构
开发语言·c++·mfc·上位机
FuckPatience4 小时前
关于C#项目中 服务层使用接口的问题
java·开发语言·c#
致于数据科学家的小陈4 小时前
Go 层级菜单树转 json 处理
python·go·json·菜单树·菜单权限·children
伊织code4 小时前
MixTeX - 支持CPU推理的多模态LaTeX OCR
python·ai·ocr·latex·mixtex