python基础第一天

作者:

在

1. 注释

  • # 这是一条注释,解释做什么
  1. 变量:

    变量就是把某些值或者运行的结果临时保存在内存中,以便后续调用


2.变量命名约定

python变量命名规则

  • 根据习惯选择一种,选择下划线命名法

- 下划线命名法:将多个单词连接在一起,使用下划线 `_` 分隔每个单词,所有字母小写,常用于变量和模块名的命名。
```python
first_str = 'Hello'
second_str = 'Python'

3.变量赋值

将某个数据赋值给某个变量存储

a = "变量1"
b = "变量2"
print(f"{a} {b}")

==注意==:不存在常量,约定的也可更改。

4.用户交互

解释器在执行该代码的时候,如果遇到 input() 就会出现阻塞,程序暂停,等待用户输入。当用户回车以后,程序才会继续向下执行

name = input('请输出你的姓名:')
print(name)

# 注意:通过input函数输入进来的内容一律会被当成字符串处理
a = input('请输入一个数字:')
# a = int(input('请输入一个数字:'))  # 类型转化
print(type(a))  
print(a > 0)

数据类型

整数(int)

  • 描述:表示没有小数部分的数字,可以是正数、负数或零。

  • 特性:

    • Python 3 中的 int 类型是无限大小的。这意味着你可以创建非常大的整数,而不必担心溢出(overflow)的问题。
    • Python 会根据整数的大小自动调整内存使用,因此可以存储任意大小的整数,只要计算机的内存允许。
    • 支持基本的算术运算,如加、减、乘、除等
    a = 10
    b = -5
    c = 0
    print(a + b)
    # Output: 5
    print(type(a))  # 可以使用 type() 内置函数来查看某个变量或值的数据类型
    # Output:
    <class 'int'>

    字符串(str)

  • 描述:字符串是字符的序列,可以通过单引号或双引号定义。

  • 特性:

    • 字符串是不可变的(immutable),不能更改其内容。
    • 支持切片、连接、重复等操作。
    • 可以使用转义字符处理特殊字符。
    • 在 Python 中, 加了引号的字符都被认为是字符串!
Greeting = "Welcome to 英格科技"
Name = "牛老师"
print(Greeting + " " + Name)    # 字符串可以通过 + 号进行拼接

# Output:
Welcome to 英格科技 牛老师

==字符串的索引和切片==

字符串的索引:

索引:每个字符在字符串中都有一个唯一的索引,索引从 0 开始。

负索引:可以使用负数索引从字符串的末尾开始访问字符,-1 表示最后一个字符,-2 表示倒数第二个字符,以此类推。

==注意==:最好不要用负索引,就按正常顺序就可,留着大脑学难的

s = "Hello, World!"

# 正索引
print(s[0])  # 输出: H
print(s[7])  # 输出: W

# 负索引
print(s[-1])  # 输出: !
print(s[-5])  # 输出: o

字符串的切片

切片:可以通过指定起始索引和结束索引来提取字符串2的子串。切片的语法为 s[start:end],包含起始索引的字符,但不包含结束索引的字符。

步长:可以指定步长来控制切片的间隔,语法为 s[start:end:step]。如果不指定步长,默认为 1

s = "Hello, World!"

# 基本切片
print(s[0:5])  # 输出: Hello
print(s[7:12])  # 输出: World

# 省略起始或结束索引
print(s[:5])  # 输出: Hello (从开始到索引 4)
print(s[7:])  # 输出: World! (从索引 7 到结束)

# 使用负索引切片
print(s[-6:-1])  # 输出: World

# 步长切片
print(s[::2])  # 输出: Hlo ol! (每隔一个字符)
print(s[::-1])  # 输出: !dlroW ,olleH (反转字符串)
print(s[:])   #输出:"Hello,world!"

常用方法

words = "beautiful is better than ugly."

print(words.title())        # 每个单词的首字母大写

print(words.find('sdj', 1, 10))          # 返回索引,找不到返回 -1

# split 以指定字符分割,形成列表
ret = words.split(' ',number)    #['beautiful', 'is', 'better', 'than', 'ugly.']
                          #被引号里的空格字符分割形成相应的元素,可指定分割几次默认从左往右
print(ret)
ret = words.rsplit(' ', 2)           # 指定分割次数,从右往左
print(ret)

# strip 操作
a = '****asdasdasd********'
print(a.strip('*'))   # 去除两端指定字符
print(a.lstrip('*'))  # 去除左侧指定字符
print(a.rstrip('*'))  # 去除右侧指定字符
#多用于面向对象时,得到信息,删除不必要的信息

==总结==:

字符串切片能让你从原字符串中提取出一段连续的子串,而不会修改原字符串。它是处理文本时最常用、最高效的操作之一。

基本能力(以 Python 为例)

语法:字符串[开始索引:结束索引:步长]

  • 提取子串:取中间某几个字符 s = "Hello, World!" s[7:12] → "World"
  • 省略索引: s[:5] → 从头到索引5之前 → "Hello" s[7:] → 从索引7到末尾 → "World!"
  • 负数索引:从右向左数 s[-6:-1] → "World"
  • 复制整个字符串:s[:] → "Hello, World!"
  • 反转字符串:s[::-1] → "!dlroW ,olleH"
  • 每隔几个字符取一个:s[::2] → "Hlo ol"

实际能解决什么问题?

  1. 截取文件名后缀 filename[-3:] 取最后3个字符(假设后缀固定长度,更严谨用 split)。
  2. 去除固定前缀/后缀 url[7:] 去掉 http://。
  3. 解析固定格式数据 身份证号 id_card[6:14] 提取出生日期。
  4. 快速判断字符串是否以某子串开头/结尾(虽然也有 startswith,但切片可见一斑)
  5. 文本对齐/截断 text[:20] + "..." 显示前20个字符后加省略号。

重要规则

  • 切片是左闭右开 [开始, 结束):包含开始索引,不包含结束索引。
  • 索引越界不会报错,只会尽可能返回已有部分(比直接索引安全)。
  • 步长为负数时,从右向左取,常用于反转或逆序提取。

布尔类型(bool)

  • 描述:布尔类型只有两个值:True 和 False。
  • 特性:
    • 通常用于条件判断和逻辑运算。
    • 布尔值在逻辑表达式中可以进行运算。

布尔类型很简单,就两个值 ,一个 True(真),一个 False(假), 主要用于逻辑判断

a = 3
b = 5
print(a < b, a > b , a != b)

# Output:
True False True

基本运算符

算数运算符

用于执行基本的数学运算

运算符 描述 示例
+ 加法,返回两个数的和 3 + 5 → 8
- 减法,返回第一个数减去第二个数的结果 10 - 4 → 6
* 乘法,返回两个数的乘积 2 * 3 → 6
/ 除法,返回第一个数除以第二个数的结果,结果为浮点数 7 / 2 → 3.5
// 地板除法,返回两个数相除的整数部分 7 // 2 → 3
% 取模,返回第一个数除以第二个数的余数 7 % 2 → 1
** 幂运算,返回第一个数的第二个数次幂 2 ** 3 → 8

关系运算符

用于比较两个值的关系

运算符 描述 示例
== 等于,判断两个值是否相等 5 == 5 → True
!= 不等于,判断两个值是否不相等 5 != 3 → True
> 大于,判断左侧值是否大于右侧值 5 > 3 → True
< 小于,判断左侧值是否小于右侧值 5 < 3 → False
>= 大于等于,判断左侧值是否大于或等于右侧值 5 >= 5 → True
<= 小于等于,判断左侧值是否小于或等于右侧值 3 <= 5 → True

身份运算符

用于比较两个对象的内存地址

运算符 描述 示例
is 判断两个对象是否为同一对象 x is y
is not 判断两个对象是否不是同一对象 x is not y

成员运算符

用于检查值是否在序列中

运算符 描述 示例
in 判断元素是否在序列中 3 in [1, 2, 3] → True
not in 判断元素是否不在序列中 4 not in [1, 2, 3] → True

​