python基础入门
2022/2/5 1:13:46
本文主要是介绍python基础入门,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
python基础入门
文章目录
- python基础入门
- 数值类型与基本操作
- 基本数据结构
- 字符串 str
- 列表 list
- 索引
- 字典 dict
- 集合 set
- 逻辑结构
- 判断结构
- 循环结构
- 函数
- 包
- 类
- 基础操作
- 异常处理
- 文件处理
- 系统时间
数值类型与基本操作
2**5 # 2的5次方 1.3e5 1.3e-5 # 科学计数法 0xFF # 16进制 0x是16进制前缀 type(a) # 打印数据类型 a = int(input('请输入数据')) # 类型转换 # input()输入数据默认为字符串 # 常见类型 int float str bool list dict-字典 set-集合 abs(5.2) # abs函数——取绝对值 round(5.2) # round函数——四舍五入 min(2,3,4) # min函数——取最小值 可以有若干参数 max(2,3,4) # max函数——取最大值 可以有若干参数
基本数据结构
字符串 str
st = 'jupyter ' + 'python' # 字符串加法 -> 有序拼接 'jupyter python' st = 'jupyter ' * 3 # 字符串数乘 -> 重复 'jupyter jupyter jupyter' len(st) # 字符串长度 # 拆分 st = 'Gin Vodka Vermouth Bourbon' st.split() # 默认按空格拆分字符串 返回列表 ['Gin','Vodka','Vermouth','Bourbon'] st.split('Vodka') # 也可指定拆分间隔 间隔不会计入结果 # 合并 li = ['Gin','Vodka','Vermouth','Bourbon'] st = '\\' st.join(li) # 以st为衔接合并列表,要求列表中的元素均为字符串类型 # 'Gin\\Vodka\\Vermouth\\Bourbon' # 替换 st = 'Gin Vodka Vermouth Bourbon' st.replace('Bourbon','Zero') # 大小写 st = 'Vermouth' st.lower() # vermouth st.upper() # VERMOUTH st.strip() # 去除首尾多余空格 st.lstrip() # 去除左边多余空格 st.rstrip() # 去除右边多余空格 # format占位 '{} and {} are black'.format('Gin','Vodka') # Gin and Vodka are black '{2} and {1} are black'.format('Gin','Vodka') # 指定索引 # Vodka and Gin are black '{a} and {b} are black'.format(a='Gin',b='Vodka') # 指定参数 # Gin and Vodka are black
列表 list
有序,可以混合存放任意类型数据,可嵌套,通过索引访问
li = [1,2] + [3,4] # 列表相加 -> 有序拼接 [1,2,3,4] li = [1,2] * 3 # 列表数乘 -> 重复 [1,2,1,2,1,2] len(li) # 求列表长度 del li[3:] # 按索引删除某元素 tmp in li # 判断元素tmp是否在列表li中 返回True or False li.count(tmp) # 计算元素tmp在列表中的个数 li.index(tmp) # 返回元素tmp在列表中首次出现的索引 没找到报错ValueError li.append(tmp) # 将元素tmp添加进列表最后 li.insert(ind,tmp) # 将元素tmp添加在列表索引ind位置 li.remove(tmp) # 将列表中首个tmp从列表中移除 li.pop() # 将列表尾部的元素弹出 并返回该元素 li.pop(ind) # 将索引ind位置的元素弹出 并返回该元素 li.sort() # 列表升序排序 li.sort(reverse=1) # 列表降序排序 li_sort = sorted(li) # 列表升序排序 将结果储存在新列表中 不改变原列表 li.reverse() # 列表翻转 # 按索引遍历 for i in range(len(li)): print(li[i]) # 按元素遍历 for t in li: print(t)
索引
用于有序数据结构,如字符串和列表,不用于字典和集合
# 首端正数从0开始,尾端倒数从-1开始 st = '01234567' st[0] # '0' st[-1] # '7' # 切片 st[0:4] # 左闭右开区间 '0123' st[4:] # 4到无穷 '4567' st[:4] # 0到4 '0123' st[-2:] # 倒数第二到无穷 '67' st[::3] # 每3个取一个值 '036'
字典 dict
基本结构:key-value 无序,使用key访问value,不可使用索引
di = {'Gin':'black','Bourbon':'red'} di['Gin'] # 'black' # 列表转化为字典 di = dict([('amy',89), ('tom',90)]) # {'amy': 89, 'tom': 90} di.get('amy') # 89 di.get('sam') # 没找到 但不会报错 di.get('sam','none') # 返回none di.pop('amy') # 弹出指定key-value 并返回value di['tom'] +=10 # {'tom',100} value可以被运算 del di['tom'] # 删除指定key-value di = {'Gin':'black','Bourbon':'red'} di.update({'Gin':'black','Vodka':'black'}) # 更新 'Gin' in di # True di.keys() # 返回字典di的所有key 类型为dict_keys 可用于遍历 di.values() # 返回字典di的所有value 类型为dict_values 可用于遍历 tang.items() # 返回字典di的所有key-value对 # 遍历 for key in di.keys(): print(di[key])
集合 set
集合内元素不重复,无序,可以进行一些集合间的数学运算/判断
li = [1,1,2,3,5,8] se = set(li) # {1,2,3,5,8} li = list(se) # 与list可以互相转化 a = {1,2,3,4} b = {2,3,4} a | b # 并集 {1,2,3,4} a & b # 交集 {2,3,4} a - b # 在a里面 不在b里面的元素 {1} b <= a # True 判断子集 a <= a # True a.update([4,5,6]) # 更新 {1,2,3,4,5,6} a.remove(1) # 移除指定元素 a.pop() # 弹出并返回首部元素
逻辑结构
判断结构
通过and/or
连接多个判断条件
三个及以上判断结果用elif
表示
使用:
和缩进表示逻辑从属
a = 90 if a > 100 and a <= 200: print('if') elif a == 50 or a == 90: print('elif1') elif (a <10 and a > 0) or a > 200: print('elif2') else: print('else')
循环结构
while 循环
a = 0 while a < 5: print(a) a += 1 se = {'Gin','Vodka','Bourbon'} while se: print(se.pop())
for循环
for i in range(1,5): print(i) di = {'Gin':'black','Vodka':'black','Bourbon':'red'} for key in di.keys(): print(di[key])
函数
参数和返回值根据需要设定,通过def
关键字、:
和缩进表示逻辑从属
def print_value(a): print('The value of a is ',a) def add_value(a=1,b=2): # 为参数设置默认值 print('a+b is ',a+b) def add_number(a,*args): # 接受不定个数的参数 b = 0 for i in args: a += i b += a return a,b # 返回值可以有多个 a,b = add_number(1,2,3) print (a,b) # 6 9 def add_2(a,**kwargs): # **kwargs可传入不定个数的key-value对 for arg,value in kwargs.items(): print(arg,value) add_2(1,x=2,y=3) # x 2 # y 3
包
%%writefile test.py # writefile用于在jupyter中新建文件 value = 10010 def test_function(): print('success')
# 导入包 import test as te # 整个导入包 调用时需用te. print(te.value) # 10010 te.test_function() # success from test import value,test_function # 导入包中的部分变量和函数 直接使用无需. print(value) # 10010 te.test_function() # success from test import * # 导入包中的部分变量和函数 直接使用无需. print(te.value) # 10010 te.test_function() # success
类
class people: '帮助信息:这是一个帮助信息' # 类的自带属性 location = 'earth' # 所有实例都会共享number def __init__(self,name,age): # 构造函数 self.name = name self.age = age def show_name(self): print(self.name) per1 = people('Vodka',40) # 实例化 per1.name = 'Gin' # 访问per1的name变量 per2.show_name() # 访问per2的show_name函数 del per1.name # 删除实例per1的name属性 hasattr(per1,'age') # True 查看实例是否具有某一属性 hasattr(per1,'name') # False 被删除的属性和不存在的属性返回False getattr(per1,'age') # 获取实例per1的属性age setattr(per1,'name','Gin') # 为实例per1设置name属性 setattr(per1,'sex','male') # 可以设置类中没有的属性 delattr(per1,'sex') # 删除per1的sex属性 print(peolpe.__doc__) # 帮助信息 print (people.__name__) # 类的名字 print (people.__module__) # 类的定义所在的模块 print (people.__bases__) # 父类的构成 print (people.__dict__) # 类的组成 # 继承 class Dad: # 父类 def __init__(self): print ('父类构造函数') def dadFunction(self): print ('父类方法') def sameName(self): print ('来自dad') class son(Dad): # Dad的子类 def __init__(self): print ('子类构造函数') def sonFunction(self): print ('子类方法') def sameName(self): print ('来自子类') child = son() # 子类构造函数 child.dadFunction() # 父类方法 child.sonFunction() # 子类方法 child.sameName() # 来自子类
基础操作
异常处理
用以防止报错导致的程序中断
li = [1,0] for tmp in li: try: print('front') # 报错语句前的语句可以被执行 print(1/tmp) # 报错 跳转至except 该语句不会被执行 print('last') # 报错语句后的语句不可以被执行 except ZeroDivisionError: print('不可以除0') # 涵盖所有报错类型 import math for i in range(10): try: input_number = input('write a number') if input_number == 'q': break result = 1/math.log(float(input_number)) print (result) except ValueError: print ('ValueError: input must > 0') except ZeroDivisionError: print ('log(value) must != 0') except Exception: # 其他的可能性 print ('unknow error') # finally try: 1 / 0 except: print('不可以除0') finally: print('finally') # 无论try中是否有异常,finally都会被执行 # 自定义错误类型 class NumNotInList(ValueError): # 自定义的一种异常 pass li = [1,2,3] while True: num = int(input('input a number: ')) if num not in li: raise NumNotInList('数字{}不在列表中'.format(num)) # 抛出一个错误 输入不在列表中的数字时报错终止 并显示错误类型为NumNotInList
文件处理
txt = open('./test.txt') # ./ 即本代码所在的路径 txt_str = txt.read() # read函数返回文本内容 txt_lines = txt.readlines() # readlines返回列表 文本每一行组成一个元素 包括换行符 txt.close() # 文件打开后要记得关闭 txt = open('test.txt','w') # 以覆盖写入模式打开文件 一旦写入丢失原有数据 txt.write('123') txt.close() txt = open('test.txt','a') # 以追加写入模式打开文件 在原有数据后面写入新的数据 txt.write('\n321') txt.close() txt = open('test.txt','r') # 以只读模式打开文件 可以读取文件内容 print (txt.read()) txt.close() with open('test.txt','w') as f: f.write('123\n321') # with方法会自动close 且自带类似try-except的防止报错功能 较为常用
系统时间
所在包:time.py
import time print(time.time()) # 从1970年1月1日到现在经过了多长时间 print (time.localtime(time.time())) # time.struct_time(tm_year=2022, tm_mon=2, tm_mday=4, tm_hour=23, tm_min=18, tm_sec=46, tm_wday=4, tm_yday=35, tm_isdst=0) print (time.asctime(time.localtime(time.time()))) # Fri Feb 4 23:18:38 2022 print (time.strftime('%Y-%m-%d %H:%M:%S',time.localtime())) # 2022-02-04 23:19:17 time.sleep(10) # 程序停止十秒
这篇关于python基础入门的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-24Python编程基础详解
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程