Python基础语法

    科技2025-09-01  7

    1数据类型

    使用type()函数去查看元素的类型

    1.1数字类型

    a = 3 # int类型 f = 3.14 # float类型 c = 3 + 4j # complex类型 判断这是什么类型? type() # 判断变量的类型 print(type(a)) print(type(f)) print(type(c)) 判断这是不是int类型?这是不是str类型? isinstance() # 判断a是不是int类型? print(isinstance(a, int)) # 返回true or false 判断两个数字是否相等?math.isclose() import math print(0.4 - 0.3 == 0.1) #输出False,因为浮点数会有数字溢出的误差 print(math.isclose(0.4 - 0.3, 0.1)) #输出True,使用isclose表示非常接近

    1.2字符串类型-String

    如何去表示字符串呢?

    - 单引号 a = 'test' - 双引号 b = "Python" - 三引号 text = '''内容...''' #三个单引号

    一个代码示例

    text = "Beautiful is better than ugly." \ "Easy is better than complex." print(len(text)) # 字符串的长度 print(text.count('is')) # 字符串中‘is’出现的次数 print('beautiful' in text) # 判断某个元素在不在字符串中

    转义-如何在字符串里面去表达出来反斜杠\呢?

    \n表示换行;\t表示制表符(空格)用两个\ \去表达\ print('jiwei\\') #==> jiwei\ 那么多个反斜杠呢?

    可以使用r加字符串 表示字符串的原始含义

    print(r'jiwei\\') #==> jiwei\\

    常用方法!!!

    a = 'python Is Perfect' print(a.upper()) # 全部大写 PYTHON IS PERFECT print(a.lower()) # 全部小写 python is perfect print(a.title()) # 每个单词首字母大写 Python Is Perfect print(a.capitalize()) # 句首单词大写 Python is perfect b = ' python ' print(b.strip()) # 去除两端的空格 print(a.split(' ')) # 按照指定的字符去分割 分割为列表 ['python', 'Is', 'Perfect'] print(' '.join(['hello', 'world'])) # 连接字符串序列 print(a.find('t')) # 搜索指定的字符串,返回索引值 只返回第一个遇到的指定元素 print(a.replace('Is', 'Are')) # 替换元素 python Are Perfect

    其他重要的方法!!!

    字符串映射 table = ''.maketrans('0123456789', '零一二三四五六七八九') print('Tel:62819743'.translate(table)) 对齐方式

    编码和解码

    a = '你好' # 对字符串编码 print(a.encode()) # b'\xe4\xbd\xa0\xe5\xa5\xbd' print(type(a.encode())) # 编码后为<class 'bytes'>格式 # 解码 x = b'\xe6\x89\x8e\xe5\xbf\x83\xe4\xba\x86\xef\xbc\x8c\xe8\x80\x81\xe9\x93\x81' print(x.decode()) # 扎心了,老铁

    1.3列表类型-list

    列表的创建

    list = ['abcd', 785, 23, 'run', 72.1] print(list((3, 5, 7, 9))) # 将元组转为列表 [3, 5, 7, 9] print(list(range(1, 10, 2))) # 将range转换为列表 [1, 3, 5, 7, 9] print(list('hello world')) # 将字符串转换为列表 ['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd'] print(list({2, 4, 2, 1})) # 将集合转换为列表 [1, 2, 4]

    列表的索引

    列表的拼接、重复

    使用+进行列表的拼接;使用*表示列表的重复

    list = ['abcd', 785, 23, 'run', 72.1] list2 = [1111] print(list+list2)

    列表生成器

    print([x ** 2 for x in range(5)]) print([i * 2 for i in range(1, 100) if i * 2 < 50])

    列表常用方法

    a = [4, 2, 3, 6, 6, 9, 5, 8, 1] a.insert(0, 1) # 在第0位插入1 print(a) # [1, 4, 2, 3, 6, 6, 9, 5, 8, 1] a.append(77) # 在列表的末尾添加元素77 print(a) a.sort() # 对列表a排序 print(a) a.reverse() # 对列表a倒叙排序 print(a) print(a.index(77)) # 元素77在列表a中的索引 print(a.count(1)) # 列表a中元素1的个数 a.remove(77) # 删除元素 可以用来删除指定元素 print(a) print(a.pop()) # 删除最后面的元素 print(a) print(a.pop(-2)) # 删除指定索引的元素 b = [22, 23, 24] a.extend(b) # 在列表a后面扩展列表b print(a) # [9, 8, 6, 6, 5, 4, 3, 1, 22, 23, 24]

    列表-案例1

    def clean_lixt(cls): cleaned_list = [] for i in cls: for j in i: if j.isalpha() != True: i = i.replace(j,'') cleaned_list.append(i) return cleaned_list coffee_list = ['32latte', '_Americano30', '/34Cappuccino', 'Mocha35'] cleaned_list = clean_lixt(coffee_list) for k, v in zip(range(1, len(cleaned_list)+1), cleaned_list): print(k, v)

    1.4元组类型-tuple

    t = ('abcd', 785, 23, 'run', 72.1) t1 = (1,)

    ==元组内元素不可以修改!!!==定义只有一个元素的元组时,元素后面要加上逗号!!!

    但是元组内可以加上可变的对象,如list

    t2 = ('a', 'b', 12, ['A', 'C']) t2[-1][0] = 'X' print(t2) # ('a', 'b', 12, ['X', 'C'])

    元组的用途

    可变长位置参数 def foo(arg1, *argst): print(arg1) print(argst) # * 可以作为收集参数的作用,收集结果以元组形式保存 foo('Hello', 'Wangdachui', 'Jiwei', 'Sunyan') 作为函数特殊返回类型 def foo(): return 1, 2, 3 print(foo()) # (1, 2, 3)

    1.5字典类型-dict

    d = {'Michael': 95, 'Bob': 75, 'Tracy': 85} print(d['Bob']) # 输出75

    字典是无序的,用键值对存储,查找极快

    同一个字典中key值必须是唯一的!!!

    查看字典中那些键对应的值为85

    d = {'Michael': 95, 'Bob': 75, 'Tracy': 85} for key in d: if d[key] == 85: print(key)

    1.6集合类型-set

    s = set([1, 2, 3]) # {1, 2, 3} s2 = set([1, 1, 2, 2, 2, 3, 3]) # {1, 2, 3} print(s, '\n', s2) print(id(s), '\t', id(s2)) # id 不同

    2运算符

    2.1算术运算符

    乘方:** print(-3**2) #-9 print((-3)**2) #9 因为乘方的优先级要高于减号 整除://

    9 // 2 = 4

    取余:%

    9 % 2 = 1

    9 / 2 = 4.5

    2.2比较运算符

    赋值 =比较 ==不等于 !=

    2.3赋值运算符

    =+=-=/=%=*=//=

    2.4逻辑运算符

    and 两者同时成立才为True

    or 两者成立一个就为True

    not 取反

    2.5成员运算符

    in 在。。里面not in 不在。。里面 print(60 in[70, 60, 50]) # True print('abc' in 'abc123sa') # True print('abd' in 'a1b2cd') # False print('3' in map(str, range(5))) # True

    2.6身份运算符

    is 判断两个标识符是不是引用一个对象is not y = 1 x = 1 print(x is y) # True print(id(x) == id(y)) # True

    3程序控制流

    if

    import random x = random.randint(0, 300) count = 0 while count <= 5: num = int(input('please enter a number between 0 - 300')) if num == x: print('bingo!') elif num > x: print('too large, please try again') else: print('too small, please try again') count += 1 print('fail!')

    for循环

    for i in range(1, 10, 2): print(i) l = list(range(11)) for i in l: print(i) s = 'Python' for i in s: print(i)

    上面的输出结果都是每行一个元素的输出,那么如何在一行去输出呢?

    加上end=’’ for i in range(1, 10, 2): print(i, end=',') print() l = list(range(11)) for i in l: print(i, end=' ') print() s = 'Python' for i in s: print(i,end='')

    break语句

    sumA = 0 i = 1 while True: sumA += i i += 1 if sumA > 10: break print('i={},sumA={}'.format(i, sumA)) break是

    4函数、类、对象

    Processed: 0.017, SQL: 8