python基础学习1

Python基本语法

简介

  • Python是一种高级编程语言,由Guido van Rossum在1980年代末和1990年代初设计开发。它被设计为一种易读易学的语言,具有清晰简洁的语法和强大的功能。Python支持面向对象、命令式、函数式和过程式编程范式。
  • Python是一种解释型语言,不需要编译代码,就可以立即运行代码。
  • Python支持动态类型,变量类型可以根据需要自动地分配。
  • Python支持自动内存管理,无需手动管理内存,系统会自动分配和释放内存
  • Python支持丰富的库和工具,包括网络编程、数据库访问、图形用户界面开发、科学计算、Web开发、游戏开发等。

python解释器

Python解释器是一种能够执行Python程序代码的软件工具。它负责将编写的Python代码转换成计算机可以理解和执行的指令。Python语言本身是一种高级语言,需要通过解释器将其转换为底层机器语言或者其他中间代码来实现程序的运行。

Python解释器有多种实现:

  1. CPython
    CPython是Python语言的官方解释器,大多数情况下提到的Python解释器指的就是CPython。它是用C语言实现的,将Python代码解释成字节码并执行。

  2. Jython
    Jython是Python语言在Java平台上的实现,它将Python代码编译成Java字节码执行。

  3. IronPython
    IronPython是Python语言在.NET平台上的实现,它能够与.NET平台的各种库和工具进行交互。

  4. PyPy
    PyPy是一个追求性能的Python解释器,使用了Just-In-Time(JIT)编译技术。

注释

Python中单行注释以#开头,多行注释可以用三个双引号"""或三个单引号'''括起来。

缩进

python中使用缩进来表示代码块,缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。

多行语句

Python中,如果一行代码过长,可以使用反斜杠\来实现多行语句。

total = item_one + \
        item_two + \    
        item_three

数据类型

数据类型描述例子
int整数类型,表示整数42, -10
float浮点数类型,表示有小数点的数值3.14, 2.0
bool布尔类型,表示逻辑值 True 或 FalseTrue, False
str字符串类型,用单引号或双引号包围的文本数据‘Hello’, “Python”
list列表类型,有序的集合,可以包含不同类型的元素[1, 2, 3], [‘apple’, ‘orange’]
tuple元组类型,类似列表,但元素不可修改(1, 2, 3), (‘a’, ‘b’, ‘c’)
dict字典类型,使用键值对存储数据{‘name’: ‘Alice’, ‘age’: 30}
set集合类型,无序且元素唯一{1, 2, 3}, {‘apple’, ‘orange’}
bytes字节串类型,不可变的字节序列,用于处理二进制数据b’hello’, b’\x00\xFF’

其中,可变类型有listdictset,不可变类型有intfloatboolstrtuplebytes
可变类型的值可以被修改,而不可变类型的值一旦创建就不能被修改。

可以使用type()函数查看变量的类型。

a = 42
print(type(a))  # <class 'int'>

数据类型转换

显示类型转换

Python中可以使用int()float()str()等函数进行类型转换。

num = 42
str_num = str(num)
float_num = float(num)

隐式类型转换

python中,不同数据类型在进行运算时,会自动转换为相同类型,不需要显示转换。通常较低的数据类型会自动转换为较高的数据类型,例如整数除以浮点数,结果为浮点数。

num = 42
float_num = 3.14
result = num / float_num  # 结果为浮点数

运算符

Python支持多种运算符,包括算术运算符、比较运算符、赋值运算符、逻辑运算符、位运算符、成员运算符、身份运算符等。

算术运算符

运算符描述例子
+加法3 + 2 = 5
-减法3 - 2 = 1
*乘法3 * 2 = 6
/除法3 / 2 = 1.5
//整除3 // 2 = 1
%取模3 % 2 = 1
**2 ** 3 = 8

比较运算符

运算符描述例子
==等于3 == 2
!=不等于3!= 2
>大于3 > 2
<小于3 < 2
>=大于等于3 >= 2
<=小于等于3 <= 2

赋值运算符

运算符描述例子
=赋值a = 2
+=加等于a += 2
-=减等于a -= 2
*=乘等于a *= 2
/=除等于a /= 2
//=整除等于a //= 2
%=取模等于a %= 2
**=幂等于a **= 2
&=按位与赋值a &= 2
|=按位或赋值a |= 2
^=按位异或赋值a ^= 2
>>=右移赋值a >>= 2
<<=左移赋值a <<= 2

逻辑运算符

运算符描述例子
andTrue and True
orTrue or False
notnot True

位运算符

运算符描述例子
&按位与5 & 3 = 1
|按位或5 | 3 = 7
^按位异或5 ^ 3 = 6
~按位取反~5 = -6
<<左移5 << 2 = 20
>>右移5 >> 2 = 1

成员运算符

运算符描述例子
in是否在序列中‘a’ in ‘abc’
not in是否不在序列中‘d’ not in ‘abc’

变量

Python中,变量名必须以字母或下划线开头,且不能以数字开头。

name = 'Alice'
age = 30

输入

input()函数

input()函数用于从控制台获取用户输入,并将其转换为字符串类型。

name = input("Please enter your name: ")
print("Hello, " + name + "!")

sys.stdin.readline()方法

sys.stdin.readline()方法用于从标准输入(即控制台)获取一行输入,并将其转换为字符串类型。

import sys

name = sys.stdin.readline().strip()
print("Hello, " + name + "!")

sys.stdin.read()方法

sys.stdin.read()方法用于从标准输入(即控制台)获取所有输入,并将其转换为字符串类型,包括换行符。

import sys

name = sys.stdin.read().strip()
print("Hello, " + name + "!")

文件输入

Python中可以使用open()函数打开文件,并使用read()方法读取文件内容。

with open('input.txt', 'r') as f:
    content = f.read()

输出

print()函数

print()函数用于输出内容到控制台。

print("Hello, world!")

sys.stdout.write()方法

sys.stdout.write()方法用于将内容输出到标准输出(即控制台)。

import sys

sys.stdout.write("Hello, world!\n")

文件输出

Python中可以使用open()函数打开文件,并使用write()方法写入文件内容。

with open('output.txt', 'w') as f:
    f.write("Hello, world!\n")

文件操作

open()函数

open()函数用于打开文件,并返回一个文件对象,可以用于读取或写入文件内容。

f = open('file.txt', 'r')
  1. file.txt:文件名。
  2. r:打开文件的方式,r表示以只读方式打开文件,w表示以可写方式打开文件,a表示以追加方式打开文件。

read()方法

read()方法用于读取文件内容,并返回字符串类型。

f = open('file.txt', 'r')
content = f.read()
f.close()

write()方法

write()方法用于写入文件内容。

f = open('file.txt', 'w')
f.write('Hello, world!\n')
f.close()

with语句

with语句可以自动关闭文件,避免忘记关闭文件造成资源泄露。

with open('file.txt', 'r') as f:
    content = f.read()

os模块

os模块提供了一系列提供了许多用于与操作系统进行交互的方法。

文件和目录操作

  • os.getcwd(): 获取当前工作目录的路径。

  • os.chdir(path): 改变当前工作目录到指定路径。

  • os.listdir(path='.'): 返回指定目录下的所有文件和目录名。

  • os.mkdir(path): 创建目录。

  • os.makedirs(path): 递归创建多层目录。

  • os.rmdir(path): 删除目录(要求目录必须为空)。

  • os.removedirs(path): 递归删除多层空目录。

路径操作

  • os.path.exists(path): 判断指定路径(文件或目录)是否存在。
  • os.path.isfile(path): 判断指定路径是否为文件。
  • os.path.isdir(path): 判断指定路径是否为目录。
  • os.path.join(path1, path2, ...): 将多个路径组合成一个路径。
  • os.path.abspath(path): 返回路径的绝对路径表示。

系统信息

  • os.name: 获取操作系统的名称。
  • os.environ: 获取系统环境变量。
  • os.system(command): 执行系统命令。

文件操作

  • os.rename(src, dst): 重命名文件或目录。
  • os.remove(path): 删除文件。
  • os.stat(path): 获取文件或目录的状态信息。

其他

  • os.urandom(n): 返回一个包含n个随机字节的字节串。

模块

导入模块

  1. 使用import语句导入模块。
import math

print(math.pi)
  1. 使用from语句导入模块中的函数或变量。
from math import pi

print(pi)
  1. 使用as语句给模块指定别名。
import math as m

print(m.pi)
  1. 使用*语句导入模块中的所有函数或变量。
from math import *

print(pi)

一个模块被另一个程序第一次引入时,其主程序将运行。如果我们想在模块被引入时,模块中的某一程序块不执行,我们可以用__name__属性来使该程序块仅在该模块自身运行时执行。

if __name__ == '__main__':
    # 程序块
    pass

模块搜索路径

Python解释器会搜索模块的路径,并从这些路径中导入模块。

模块搜索路径存储在sys.path变量中,可以通过sys.path.append()方法添加路径。

import sys

sys.path.append('path/to/module')

模块搜索路径的优先级:

  1. 当前目录。
  2. 环境变量PYTHONPATH
  3. 内置的模块路径。

Python中,包是一种组织模块的机制。

包可以包含模块、子包、子包中的模块等。

包的组织形式:

package/
    __init__.py
    module1.py
    module2.py
    subpackage/
        __init__.py
        module3.py
  1. __init__.py文件:该文件可以为空,但必须存在,否则Python解释器会认为该目录不是一个包。
  2. module1.py文件:该文件包含模块1的代码。
  3. module2.py文件:该文件包含模块2的代码。
  4. subpackage目录:该目录包含子包。
  5. subpackage/__init__.py文件:该文件可以为空,但必须存在,否则Python解释器会认为该目录不是一个包。
  6. subpackage/module3.py文件:该文件包含子包中的模块3的代码。

导入包中的模块:

import package.subpackage.module3
  • 32
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值