【Python】基础语法

本篇文章是我的学习笔记,由于我有C与Java的基础,只记录了Python与Java不同的地方,内容写的很随意。如果你想从零学习Python,不要看。

另外,本文会一直更新,给出Pythonic写法。

一.变量

1.变量类型

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

补充:Python 将 Booleans 视为 Integer 数据类型的子类型,并且在几乎所有情况下,值的行为类似于值 0 和 1,除了当它们转换为它们的字符串表示形式时,将返回表达式 False 或 True。

2.动态类型

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

a=134
print(a)
a=123.123
print(a)

3.字符串处理

1)使用“.join”从列表元素创建单个字符串

list_str = ["apple", "banana", "cherry", "date", "elderberry"]
concat_string = ", ".join(list_str)

2)通过字符串函数的链式操作来提高代码的可读性

str_title = " Hello, World! "
formatted_title = (str_title.strip().strip(' ')
                   .upper()
                   .replace('!','.'))

3)使用格式化字符串构造字符串

name = 'KaKa'
age = 24
print(f'Name: {name}, Age: {age}')

4)使用 ord 和 chr 处理 ASCII 代码

内置函数 ord 和 chr 用于执行字符与其 ASCII 字符代码表示之间的转换

print(ord('a')) # output: 97
print(chr(97)) # output: 'a'

二.输入输出

1.输入

使用input函数输入:

b=input()
c=input("输入一个整数:")

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

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

2.输出

使用print函数输出,输出可以是变量,也可以是格式化字符串

print(a)

三.运算符

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.赋值运算符

# 连续赋值
a=b=10
# 多元赋值
a,b=10,12
# 两个变量交换
a,b=b,a

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

四.条件语句

# if
if expression:
    print(123)

# if-else
if expression:
    print(123)
else:
    print(456)

# if-elif-else
if expression:
    pass        # 可以使用pass占一个位置
elif expression2:    # 注意这里是elif
    print(456)
else:
    print(789)

五.循环语句

1)while

while num <= 5:
    num += 1

2)for

基本语法:

for 循环变量 in 可迭代对象:
    循环体

举个例子,打印1-10:

for i in range(1,11):
    print(i)

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

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

for i in range(2,12,2):    # range后面还可以规定每次递增的大小
    print(i)

还可以使用 enumerate() 函数来遍历数组:

index 是下标,element 是 index下标对应的元素

for index, element in enumerate(arr):
    print index, element

使用 pairwise() 函数将一个可迭代对象中的元素按顺序两两配对。简单来说,它能把[a,b,c,d]转换成 (a,b),(b,c),(c,d) 这种两两相邻的配对形式。

# 1. 列表示例
nums = [1, 2, 3, 4, 5]
pairs = pairwise(nums)
# 转换为列表查看结果(迭代器需要遍历/转换才能看到内容)
print(list(pairs))  # 输出: [(1, 2), (2, 3), (3, 4), (4, 5)]

# 2. 字符串示例
s = "abcd"
print(list(pairwise(s)))  # 输出: [('a', 'b'), ('b', 'c'), ('c', 'd')]

# 3. 元组示例
t = (10, 20, 30)
print(list(pairwise(t)))  # 输出: [(10, 20), (20, 30)]

# 4. 特殊情况:可迭代对象长度 < 2 时,返回空迭代器
short_list = [1]
print(list(pairwise(short_list)))  # 输出: []

3)for...else

基本语法:

for 变量 in 可迭代对象:
    循环体代码
    [if 条件:
        break]  # 可选的break,触发则else不执行
else:
    # 循环正常结束(未被break中断)时执行的代码
    else块代码

核心逻辑:

for 循环完整遍历完所有元素 → 执行 else 块
for 循环被 break 提前终止 → 跳过 else 块
else 块与 for 是一个整体,不是 与 if 配对

有时候写代码的时候我会定义几个标志位,表示这个循环被中断了。现在不用了,直接使用只用这个就行了。

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

六.函数

1)语法格式

def test():
    return 123

def test(a):
    return a

函数要先定义再使用。

2)参数

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

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

def test(a,b,c=True):
    if c:
        print(a)
    else:
        print(b)

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

def test(a,b):
    print(a)
    print(b)
    
test(b=1,a=2)

3)返回值

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

def test():
    x=1
    y=2
    return x,y

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

如果只想要其中某个返回值,在接收的时候可以使用_跳过,详细见List(列表)和 Tuple(元组)这篇文章。

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

七.文件操作

1)打开 和 关闭 文件

# 打开文件
f=open("C:/code/test.txt","r")
# 第一个参数是要打开的文件的路径
# 第二个参数是打开方式,r是读的方式,w是写的方式,a是追加写的方式

# 关闭文件
f.close()

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

2)写文件

f=open("C:/code/test.txt","w")
f.write("Hello World")
f.close()

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

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

3)读文件

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

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

f=open("C:/code/test.txt","r")
result=f.readlines()
print(result)
f.close()

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

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

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

with open("C:/code/test.txt","r",encoding='utf8') as f:
    result=f.readlines()
    print(result)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值