python 学习笔记

发布于:2025-02-28 ⋅ 阅读:(13) ⋅ 点赞:(0)
前期准备:
    python   安装
    pip 包管理工具的安装    
    pycharm开发工具的安装
Python 学习
1 基础语法
    单行注释    #     
    多行注释    ''' 或者 """
    行与缩进  不需要使用大括号 {} , 缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。
    多行语句     语句很长,我们可以使用反斜杠  \  来实现多行语句  例如:
            
#单行注释
'''
多行注释
'''
total = item_one + \
        item_two + \
        item_three

   空行: 函数之间或类的方法之间用空行分隔,表示一段新的代码的开始
    input() 等待用户输入
    同一行可以写多条语句用;隔开
    print() 输出
    导入模块 import   , from...import
    
在 python 用 import 或者 from...import 来导入相应的模块。
将整个模块(somemodule)导入,格式为: import somemodule
从某个模块中导入某个函数,格式为: from somemodule import somefunction
从某个模块中导入多个函数,格式为: from somemodule import firstfunc, secondfunc, thirdfunc
将某个模块中的全部函数导入,格式为: from somemodule import *

2.基本数据类型 
  •     整数 
  •      float 浮点数    
  •     String字符串   转义符 \      切片:str[start:end:step]  包含头不包含尾部 step 是步长,实例:
str='123456789'
print(str)                 # 输出字符串
print(str[0:-1])           # 输出第一个到倒数第二个的所有字符
print(str[0])              # 输出字符串第一个字符
print(str[2:5])            # 输出从第三个开始到第六个的字符(不包含)
print(str[2:])             # 输出从第三个开始后的所有字符
print(str[1:5:2])          # 输出从第二个开始到第五个且每隔一个的字符(步长为2)
print(str * 2)             # 输出字符串两次
print(str + '你好')         # 连接字符串
print('------------------------------')
print('hello\nrunoob')      # 使用反斜杠(\)+n转义特殊字符
print(r'hello\nrunoob')     # 在字符串前面添加一个 r,表示原始字符串,不会发生转义
  •     bool    布尔值    True, False
  •     List(列表)
        
# 直接列出元素 
    my_list = [1, 2, 3, 4]
# 使用列表推导式 
    squares = [x**2 for x in range(5)] 
# 通过range函数创建列表 
    numbers = list(range(10))
# 通过索引访问,注意索引从0开始 
    first_element = my_list[0] 
# 负索引表示倒数位置  
    last_element = my_list[-1] 
# 修改单个元素
    my_list[0] = 'New Value' 
# 添加元素
    my_list.append('Append Value')  # 在末尾添加
    my_list.insert(1, 'Insert Value')  # 在指定位置插入
# 删除元素
    del my_list[0]  # 删除指定位置的元素
    my_list.remove('Value')  # 删除列表中第一个匹配的值
    popped_item = my_list.pop()  # 删除并返回最后一个元素,可指定索引
# 检查元素是否存在
    if 'Value' in my_list:
        print("Element exists")
# 计算元素出现次数
    count = my_list.count('Value')
# 查找元素索引(首次出现)
    index = my_list.index('Value')
# 切片操作
    slice_of_list = my_list[1:3]  # 获取第1到第2个元素
    reversed_list = my_list[::-1]  # 反转列表
# 复制列表
    copied_list = my_list.copy()
    my_list.sort()  # 就地排序
    sorted_list = sorted(my_list)  # 返回排序后的新列表
    my_list.reverse()  # 就地反转
    combined_list = my_list + another_list
    flat_list = [item for sublist in nested_list for item in sublist]  # 扁平化嵌套列表
  •     Tuple(元组)创建后不能更改 用法基本和列表一致
  •     set 集合  无序,唯一的
创建集合
 
# 使用花括号创建集合
    my_set = {1, 2, 3}
# 使用set()函数创建集合
    another_set = set([1, 2, 3])  # 从列表转换而来
#集合的基本操作
    添加元素:使用 add() 方法。
    my_set.add(4)
#删除元素:使用 remove() 方法删除指定元素,如果元素不存在会抛出 KeyError;或使用 discard() 方法,该方法在元素不存在时不抛出错误。
    my_set.remove(2)  # 如果2不存在,会抛出KeyError
    my_set.discard(5)  # 如果5不存在,不会抛出错误
#集合运算:
#并集:使用 union() 方法或 | 运算符。
    union_set = my_set.union({3, 4, 5})  # 或 my_set | {3, 4, 5}
#交集:使用 intersection() 方法或 & 运算符。
    intersection_set = my_set.intersection({3, 4})  # 或 my_set & {3, 4}
#差集:使用 difference() 方法或 - 运算符。
    difference_set = my_set.difference({1, 2})  # 或 my_set - {1, 2}
#对称差集:使用 symmetric_difference() 方法或 ^ 运算符。
    symmetric_diff_set = my_set.symmetric_difference({2, 3, 6})  # 或 my_set ^ {2, 3, 6}
#判断子集和超集:
#使用 issubset() 方法或 < 运算符判断是否为子集。
#使用 issuperset() 方法或 > 运算符判断是否为超集。
    subset_check = {1, 2}.issubset(my_set)  # 或 {1, 2} < my_set
    superset_check = my_set.issuperset({1, 2})  # 或 my_set > {1, 2}
#长度:使用 len() 函数获取集合中元素的数量。
    length = len(my_set)
#清空集合:使用 clear() 方法。
    my_set.clear()
  •    dict 字典   键值对 相当于 map
#创建字典
    my_dict = {'name': 'Alice', 'age': 30, 'city': 'New York'}
    my_dict = dict(name='Alice', age=30, city='New York')
#访问元素
    name = my_dict['name']
# 添加和修改
    my_dict['email'] = 'alice@example.com' 
    my_dict['age'] = 31  
# 删除已有的键值对
    del my_dict['email']
    age = my_dict.pop('age')  # 删除并返回值
#判断是否存在
    if 'name' in my_dict:
         print("Key exists")
#遍历字典
    for key, value in my_dict.items():
         print(f"{key}: {value}")
    for key in my_dict.keys():  # 默认遍历键  
        print(key)
    for value in my_dict.values():
        print(value)
#获取字典值 给与默认值 防键不存在。
    email = my_dict.get('email', 'Not provided')
#清空字典:使用 clear() 方法
    my_dict.clear()
#复制字典
    new_dict = my_dict.copy()
#字典推导式
    squared = {x: x**2 for x in range(5)}
3.运算符
    算数运算符:a=10 , b=21
+
加 - 两个对象相加
a + b 输出结果 31
-
减 - 得到负数或是一个数减去另一个数
a - b 输出结果 -11
*
乘 - 两个数相乘或是返回一个被重复若干次的字符串
a * b 输出结果 210
/
除 - x 除以 y
b / a 输出结果 2.1
%
取模 - 返回除法的余数
b % a 输出结果 1
**
幂 - 返回x的y次幂
a**b 为10的21次方
//
取整除 - 往小的方向取整数
b//a = 2
比较运算符:
==
等于 - 比较对象是否相等
(a == b) 返回 False。
!=
不等于 - 比较两个对象是否不相等
(a != b) 返回 True。
>
大于 - 返回x是否大于y
(a > b) 返回 False。
<
小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。
(a < b) 返回 True。
>=
大于等于 - 返回x是否大于等于y。
(a >= b) 返回 False。
<=
小于等于 - 返回x是否小于等于y。
(a <= b) 返回 True。

赋值运算符
以下假设变量a为10,变量b为20:
运算符
描述
实例
=
简单的赋值运算符
c = a + b 将 a + b 的运算结果赋值为 c
+=
加法赋值运算符
c += a 等效于 c = c + a
-=
减法赋值运算符
c -= a 等效于 c = c - a
*=
乘法赋值运算符
c *= a 等效于 c = c * a
/=
除法赋值运算符
c /= a 等效于 c = c / a
%=
取模赋值运算符
c %= a 等效于 c = c % a
**=
幂赋值运算符
c **= a 等效于 c = c ** a
//=
取整除赋值运算符
c //= a 等效于 c = c // a
:=
海象运算符,这个运算符的主要目的是在表达式中同时进行赋值和返回赋值的值。Python3.8 版本新增运算符
在这个示例中,赋值表达式可以避免调用 len() 两次:
if (n := len(a)) > 10:
print(f"List is too long ({n} elements, expected <= 10)")
逻辑运算符:
and
x and y
布尔"与" - 如果 x 为 False,x and y 返回 x 的值,否则返回 y 的计算值。
(a and b) 返回 20。
or
x or y
布尔"或" - 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值。
(a or b) 返回 10。
not
not x
布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。
not(a and b) 返回 False
成员运算符:
in
如果在指定的序列中找到值返回 True,否则返回 False。
x 在 y 序列中 , 如果 x 在 y 序列中返回 True。
not in
如果在指定的序列中没有找到值返回 True,否则返回 False。
x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。

网站公告

今日签到

点亮在社区的每一天
去签到