Python入门基础知识
Posted 算法与编程之美
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python入门基础知识相关的知识,希望对你有一定的参考价值。
1 问题
最近有两个高中同学断断续续问我一些python题目。本文为初学者介绍一些Python基础知识,包括输入,输出,有序,无序序列的相关操作,函数的使用等,并出示相关的例题方便更好的理解。
2 方法
这里直接展示代码,注释部分对相关代码进行解释。
代码清单 1
# 1.拆分数据输入 #使用map()与split()将输入数据进行拆分,这两组合会自动忽略空格 a,b,c=map(int,input().split()) value=b*2-4*a*c print(value) #1.1 break与continue str="Hello World" s='' for i in str: s+=i if i=="W": break # 执行if语句后,跳出整个循环 print(s) for i in range(10): if i==8: continue # 执行if语句后,跳出此次循环,接着下一次 print(i) #1.2 去掉输入前后的空格 #strip():去掉元素前后方的空格,但中间的空格不去掉 s1=input().strip() print(s1) #1.3 所输入即所得 eval()直接将字符串当作有效的表达式,(可以理解为暂时的去掉字符串的引号) test=eval(input()) # 尝试输入内容[1,2,3,4]或者”张三":18 print(test) print(type(test)) # type判断数据类型 # 2 输出 # 2.1 格式化输出format a=50 b=168 c=a/b*100 print("hello0,你的成绩提高了1:.0f%".format("小明",c)) #所有的(包括%)都要写在”“里面 print("hello0,你的成绩提高了1:.2f%".format("小明",c)) #所有的(包括%)都要写在”“里面 print("hello%s,你的成绩提高了%d%%" % ("小明",c)) # 用两个%%来表示%的含义 # 2.2 以end输出 #python默认输出会换行,使用end=" "就可以不换行输出 ”“里面就是输出连接符 print("cxj",end="") print("不挂科",end="加油啊") # 可以理解为就是一个拼接技术''' print() # 3. 列表,字典,元组,集合 # 创建空列表 empty_list=[] empty_list=list() # 创建空元组 empty_tuple=() empty_tuple=tuple() # 创建空集合 empty_set=set() # 创建空字典 empty_dict= empty_dict=dict() #往集合中添加元素 1 : empty_set.add(1) # 3.1 列表 a=["刘六","陈七","李四","张三","d","j"] b=["张三","王五"] # 增加,插入 a.insert(2,"薛之谦") # 在二号位插入元素'薛之谦' a.extend(b) #对列表a再追加一个列表b a.append(78) #对列表在末尾添加元素 print(a) # 删除 a.pop(1) # 删除下标为1的元素,不写就默认为最后一个元素 a.remove("张三") # 删除某个特定的元素,指名道姓了 # 修改 a[3]="罗永浩" # 修改即直接对列表中某个元素重新赋值操作 print(a) # 查询 列表查询元素没有get()方法,字典才有 c=a.index("张三") #返回'张三'的下标 print(c) # 判断某元素是否在列表里 print("张三" in a) # 返回布尔值 True a.clear() #清空列表 print(a) # 输出一个空列表 # 切片,包头不包尾 使得str[:2]+str[2:]==str str=['i', 'am',' a','student'] e=str[:] # 啥也不写,默认从0开始到结尾,步长为1 e=str[:2] # 取出 0,1,下标元素 e=str[:3:2] # 步长为2 e=str[-1:0:-1] # 从-1位置到不包括0的位置 (不要求start>stop) 结果:['student', ' a', 'am'] e=str[::-1] #反向提取 结果: ['student', ' a', 'am', 'i'] print(e) # 3.2 字典 # 3.2.1 字典的get()方法查询元素 dict="张三":43 print(dict.get("张三",43)) # 要有两个参数,第二个随便写,为了没查询到元素时不报错 d=dict.get("张三",78) # 查询到了key就返回它的value d2=dict.get("李四",788) # 没查询到元素时不报错,返回788 print(d) print(d2) # 3.2.2 字典中的某个值可以表示为:dict[key] key是包含了""的,一个完整的"name","age"才叫key student="name":"张三","age":18,"gender":"男" print(student.get("name","good")) print(student.get("grade","sorry,没有此元素")) #没有grade,因此返回第二个参数'good',他是不报错的 print(student["gender"]) # 注意要加"",不然会错 # 3.2.3 使用update()可以一次更新多个元素 student.update('math':99,"英语":100,"python":100) print("math:",student["math"]) # 3.2.4 删除元素 del/pop del student["age"] print(student) # pop() 用变量来接收pop的值,不用变量接收就不会返回该值 k=student.pop("math") # 返回99 student.pop("python") #返回删除'python'后的列表 print(k) print(student) # 3.2.5 迭代 # 以键循环:只迭代出key,没有value for keys in student: #没有加属性,就只遍历出key print(keys) # 键,值 循环 for key,values in student.items(): print(key,values) #只循环key for key in student.keys(): print(key) #只循环value for i in student.values(): print(i) # 3.3 元组 tup1=('张三','李四',"王五") print(tup1[2]) #tup1[0]="六二" #xxxxxxxxxx错误的,元组内元素不能改变,只读不写 # 3.4 排序 # 3.4.1 sort() / sorted()顺序 # sorted() 可以将字符串排除分隔并排序 s='7506' a=sorted(s) print(a) # sort()会改变原来列表的顺序,不用创建变量来接收返回值 name=['z',"b","h"] name.sort() print(name) # sorted()不会改变原来列表顺序,返回排序后的版本,需要创建一个变量来接收返回值 num=[2,5,3,99,6] num=sorted(num) print(num) # 3.4.2 倒序 # reverse() #会改变原来列表顺序,不用创建变量来接收返回值 name=['a',"b","h","j"] name.reverse() print(name) # reversed() 需要创建一个变量来接收返回值. 也可以用[::-1]来颠倒,但不是排序 num=[34,65,78,33,23] newnum=reversed(num) print(list(newnum)) #需要转换成为列表 # 在参数中申明sort的方法 num=[34,65,78,33,23] num.sort(reverse=True) #不用创建变量来接收返回值 print(num) num.sort(reverse=False) #不用创建变量来接收返回值 print(num) num=[1,2,4,6,3] print(num[::-1]) #[3, 6, 4, 2, 1]''' # 去重,利用set()得到的返回值是集合,要得到列表需要再加一个list转换 num_list=[2,3,4,2,6,3] print(set(num_list)) print(list(set(num_list))) # 4.循环与条件判断 # 4.1 for in 循环 for _ in range(1,10): # 注意参数取值范围,前开后闭 print(_) # 4.2 while 循环 happiness=0 while happiness!=22: happiness+=1 # 一定要有使得循环趋于结束的条件,否则会进入死循环 print("祝你好运") # 4.3 条件判断 # 4.3.1 判断输入的年份是否为闰年 year=int(input("输入年份")) if year%400==0 or (year%4==0 and year%100!=0): print ("%s是闰年" % year) else: print ("0不是闰年".format(year)) # 4.3.2 判断BMI值 height=eval(input('输入你的身高')) # 以米为单位输入 weight=eval(input('输入你的体重')) # 以千克为单位输入 BMI=weight/height**2 if BMI<18.5: print("过轻") elif 18.5<=BMI<25: print("正常") elif 25<=BMI<28: print("过重") elif 28<=BMI<32: print("肥胖") else: print("严重肥胖,注意健康") # 4.3.3 判断成绩等级 grade=int(input('输入你的成绩')) dic="优秀":[90,100], "良好":[80,89], "中等":[70,79], "及格":[60,69], "不及格":[0,59] for k,v in dic.items(): if v[0]<=grade<=v[1]: print("你的成绩为%s,等级为%s" % (grade,k)) # 5. 列表与字符串之间的转换 #列表--->字符串:join() # 字符串--->列表: split() strs=["i","am","a","student"] a=" ".join(strs) # 以""里面的内容拼接 print(a) #就只是把字符串又完整的放回列表 strs="vcb,ji,ij,j,a,w" # 这一个字符串中有15个元素,其中','也算. str="hgfeiduy" b=strs.split(".") print(b) d=str.split(" ") print(d) # 6.列表推导式 # 6.1 求平方 squares=[x*2 for x in range(1,10)] print(squares) #2. 求偶数(带条件的列表生成式) num=[x for x in range(100) if x%2==0] print(num) # 6.2 最值/求和 #对于可迭代对象,可以直接用sum(),max(),min() nums=[95,97,93,89,90] print(sum(nums)) print(min(nums)) print(max(nums)) # 7. 函数 def f(n): pass def f(*n): pass def f(**n): pass ''' 函数参数中n表示:传入的一个参数 参数中带有*n表示:将参数以元组的形式导入(不限个数) 参数中带有**n表示:将参数以字典的形式导入(不限个数) ''' # 举两个例子: def f(num): sum=num+19000 return sum b=34 print(f(b)) def f(*num): sum=0 for i in num: sum+=i**2 return sum print(f(2,9,6)) # 8. ASCII与字符的互换 # 使用ord()与chr() ascii=65 print(chr(ascii)) str="z" print(ord(str)) # 9. 进制转换 #将八进制的56转换为十进制 print(int('56',8)) #56需要加上"",即转换为字符串 #转换为二进制:bin print(bin(1024)) #转换为八进制:oct print(oct(8732)) # 用e代替10: print(1.23e9) # 10.一些常用的库 # math库 import math # 幂:pow(x,y) d=math.pow(3,4) print(d) # 平方根:sqrt a=math.sqrt(9) print(a) # 全排列 import itertools s=["a","b","c"] # 对列表元素进行无重复组合 l=list(itertools.permutations(s)) print(l) # 对数组中元素计数 nums = [10,6,5,8,5,8] from collections import Counter nums = Counter(nums) print(nums) # Counter(5: 2, 8: 2, 10: 1, 6: 1) for i,item in nums.items(): print(i,item) # 会依次打印出统计元素后的元素,个数 |
3 结语
Python入门选手刚开始接触都会有一定难度,本文总结的内容较为基础,适合刚入门的新手,代码也比较多,也有的不全面,后面会继续完善,希望阅读之后的你在编程路上的兴趣和自信有所提高。
稿件来源:深度学习与文旅应用实验室(DLETA)
作者:陈相君
主编:欧洋
以上是关于Python入门基础知识的主要内容,如果未能解决你的问题,请参考以下文章