python基础入门(超详细)_python语言基础-程序员宅基地

技术标签: python  python安全开发  后端  开发语言  

0x00 Python入门知识点

特来整理常见的top50入门知识点,初学者可以参考学习
1.input输出

password=(input("你的密码是:"))
print("你的密码是:",password)

2.输出类型

a = 10
print(type(a))   #int整形,str字符串
#强制类型转换
a = str("123")
print(type(a))

3.if语句:

#if elif else条件判断语句,if语句嵌套,注意缩进
a = 21
if a>1 and a<=15:
    print("是的")
elif a >15 and a<20:
    print("错的")
else:
    a >20 and a<30
    print("哈哈")

4.导入第一个库:随机数库

 import random
a = random.randint(1,7)
print(a)

5.经典猜拳游戏,理解随即库与缩进问题

import random
b = random.randint(0,2)
print(b)
#b = int(b)
a = input("输入你的数字:")
a = int(a)
if a > 3:
    print("数字错误")
elif  a == b :
    print("平手了")
elif a > b :
    print("你输了")
else:
    print("你赢了")
    pass

6.for语句学习

for i in range(3):
    print(i)
for a in range(1,5,1):
    print(a)

a = ['aa','bb','cc']
for i in range(len(a)):
    print(i,a[i])

7.经典联系:求1-100的和

n = 100
sum = 0
counter = 1
while counter <= n :
    sum = sum + counter
    counter += 1
    print("1到100的和为:%d"%(sum))

8.三种结束符的理解:

pass(空字符)  
continue(结束本次循环,但不结束大体的如while框架)   
break(结束整个循环,包括while)

9.字符串的转义

a = "nihao \"nihao"   #讲中间双引号转义输出print(a)b = """    nihao    haode"""print(b)   #三引号输出引号内所有字符串包括空格

10.切片

a = "wuhan"print(a[0:3:1])    #起始位置:结束位置:跨境值  0下标开始

11.反斜杠与直接显示原始字符串

print("nihao\nhaode")print(r"nihao\nhaode")

12.类型的判断

isalnum(字母加数字为真)isalpha(全字母为真)isdigit(全数字为真)isnumeric(只包含数字字符为真)

13.函数必懂知识点

#len(string)返回字符串长度#lstrip()去掉左边的空格#rstript()去掉字符串末尾的空格#encode(usf-8) 默认为UTF-8

14.列表的使用,for与while的遍历

a = ["xiaohuang","xiaoliu","xiaowang"]for i in a:    print(i)length = len(a)o =0while o <length:    print(a[o])    o +=1

15.数据的增加(append,extend,insert)

name = ["A","B","C"]zengjia = input("请输入:")aa = ["1","2"]name.append(zengjia)   #将整个列表添加,包括列表的【】name.extend(aa)   #讲列表中的元素增加到另外一个里面name.insert(1,"d")  #在列表的1号位,插入数据d#print(name)print(name)

16.数据的删除 (del,pop,remove)

name = ["A","B","C"]#del name[1]   #删除指定下标的对象#name.pop()  #删除数组组后的一位name.remove("B")   #删除指定的对象,但是执行一次后失效print(name)

17.数据的修改

name = ["A","B","C"]name[1]="D"   #指定数据下表修改print(name)

18.数据的查 (in / not in)

name = ["A","B","C"]na= input("输入查找的对象:")if na in name:    print("对象存在")else:    print("不存在")

19.数据的查找

#查找对象位置,不在范围内会报错,后面通过异常处理错误就行a = ["a","b","c","d","e"]b= [1,3,2,4]print(a.index("c",0,4))  #数据的查找

20.元素的操作

print(a.count("c"))a.reverse()#元素反转输出a.sort()  #元素升序输出print(a)a.sort(reverse=True)  #元素降序输出print(a)

21.#列表list取值嵌套

a = [["a","b"],["c","d"]]print(a[0][0])  #第一个列表内取值第一个值

22.练习:八个对象随机分配到三个库,应用random库

import randomoffices =[[],[],[]]names = ["a","b","c","d","e","f","g","d"]for name in names:    a = random.randint(0,2)    offices[a].append(name)#i = 1for office in offices:    print("分配个数为%d"%(len(office)),"-"*20)    #i += 1    for name in office:        print("对象名字:%s"%name)        #print("\n")        #print("-"*20)

23.#元组tuple的增删改查

a =(1,2,3,"aa")b =(4,)a = a+b   #增print(a)#del a #删除整个元组print(a)#无法修改,可以增加print(a[0])  #查询

24.#元组的转换

a = [1,2]a=tuple()print(type(a))

25.#字典知识点:dict 存储形式(key,value)键值对

dict ={"name":"告白","age":20}print(dict["name"])#防止访问对象不存在print(dict.get("age"))   #noneprint(dict.get("a","22"))   #未找到设定默认值

26.#字典的增加操作

a = {"name":"hsyy","age":"20"}newname=input("请输入新的名字:")a["new"]=newname#print(a["new"])print(a)

27.#字典的删除

a = {"name":"hsyy","age":"20"}print("删除前:%s"%a)del a["name"]#删除一个键值对print("删除后:%s"%a)del aprint("全部删除后%s"%a)  #清空后输出会报错不存在a.clear()#清空字典内容print("清空后:%s"%a)

28.#字典的修改

a = {"name":"hsyy","age":"20"}a["name"]="hsyyy"print(a)

29.#字典的查

a = {"name":"hsyy","age":"20"}print(a.keys())  #得到所有的键print(a.values())  #得到所有的值print(a.items())  #得到所有的键值对

30.#遍历所有的键值对

for key in a.keys():  #遍历键    print(key)for value in a.values():   #遍历值    print(value)for key,value in a.items():    print("输出键值对:%s:%s"%(key,value))  #遍历键值对

31.#枚举排序 0,1,2…

a = ("a","b","c")for i,v in enumerate(a):    print(i,v)

32.#乘法表练习

for x in range(1,10):    print("\t")    for y in range(1,x+1):        result = x * y        print("%d * %d = %d"%(x,y,x*y),end="\t")   #打印一个不换行

33.#函数的定义

def hanshu():    print("-------")    print("   函数的定义与调用   ")    print("-------")#函数的调用hanshu()

34.#函数带参数的定义

def addnum(a,b):    c = a+b    print(c)addnum(1,2)  #输出3

35.#返回值计算结果

def addnum(a,b):    return a +bvul = addnum(1,2)#print(addnum(1,2))print(vul)

36.#返回多个结果,逗号分割

def num(a,b):    shang = a/b    yushu = a%b    return (shang,yushu)shang,yushu=num(2,1)print("商等于:%d,余数等于:%d"%(shang,yushu))

37.#练习:自动输入数字,输出特定的长度

def hengxian():    b=int(input("数字:"))    print("-" * b)    #return bhengxian()

38.#求三数字和

def num():    a=int(input("第一个数:"))    b=int(input("第二个数:"))    c=int(input("第三个数:"))    add = (a + b + c)/3    print(add)num()

39.#输出给定长度练习

def num():    print("-"*10)def xiantiao(m):    i = 0    while i<m:        num()        i +=1  #注意先加1再执行xiantiao(int(input()))

40.#全局遍历与局部变量,局部变量调用全局变量

a = 100def num():    global a    print(a)  #输出100    a=500    print("%d"%a)  #输出500def numm():    print(a)     #输出500,全局变量被修改num()numm()

41.#文件的操作知识点

#文件的打开方式:r:打开  w:没有就创捷,并且覆盖f = open("cms识别/cms/text.txt","r")#f.write("hello,word")#red = f.read(5)reds = f.readlines()  #全部读取  不加s只读一行print(reds)i = 0for item in reds:    print("%s:%s"%(i,item)) #按照行号读取,注意前面的readlines的s    i +=1f.close()

42.#文件的重命名/删除 os模块

import os#os.rename("textt.txt","cms识别/cms/textt.txt")   #重命名:旧文件名的位置,新文件以及问价位置#f = open("cms识别/cms/1.txt","w")#f.close()#os.remove("cms识别/cms/1.txt")  #删除文件os.mkdir("cms识别/hsyy") #创建文件os.rmdir("xx")#删除文件夹#还有改变目录等等操作。。。

43.#错误和异常的处理知识

try:    f = open("cms识别/cms/textt.txt")except IOError:  #打开文件异常,属于IO异常后输出pass占位的结果     pass

44.#读取名称异常处理

try:    num = 1    print(num)    f = open("t.txt")#except (NameError,IOError) as t:  #打印错误信息,只会打印第一个except Exception as t:  #涵盖所有的报错信息,便于排查    print("你出错了!")    print(t)

45.#文件的强制(finally)执行与嵌套try

try:    f = open("cms识别/cms/textt.txt")    try:        f = open("t.txt")    finally:  # 强制执行        f.close()        print("强制执行")except Exception as t:    print(t)

初学者建议看完记得实操一遍,
要知道学习编程看一百次不如敲一次,

内容适合入门学习,大佬们误介/狗头

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_53577336/article/details/121873412

智能推荐

class和struct的区别-程序员宅基地

文章浏览阅读101次。4.class可以有⽆参的构造函数,struct不可以,必须是有参的构造函数,⽽且在有参的构造函数必须初始。2.Struct适⽤于作为经常使⽤的⼀些数据组合成的新类型,表示诸如点、矩形等主要⽤来存储数据的轻量。1.Class⽐较适合⼤的和复杂的数据,表现抽象和多级别的对象层次时。2.class允许继承、被继承,struct不允许,只能继承接⼝。3.Struct有性能优势,Class有⾯向对象的扩展优势。3.class可以初始化变量,struct不可以。1.class是引⽤类型,struct是值类型。

android使用json后闪退,应用闪退问题:从json信息的解析开始就会闪退-程序员宅基地

文章浏览阅读586次。想实现的功能是点击顶部按钮之后按关键字进行搜索,已经可以从服务器收到反馈的json信息,但从json信息的解析开始就会闪退,加载listview也不知道行不行public abstract class loadlistview{public ListView plv;public String js;public int listlength;public int listvisit;public..._rton转json为什么会闪退

如何使用wordnet词典,得到英文句子的同义句_get_synonyms wordnet-程序员宅基地

文章浏览阅读219次。如何使用wordnet词典,得到英文句子的同义句_get_synonyms wordnet

系统项目报表导出功能开发_积木报表 多线程-程序员宅基地

文章浏览阅读521次。系统项目报表导出 导出任务队列表 + 定时扫描 + 多线程_积木报表 多线程

ajax 如何从服务器上获取数据?_ajax 获取http数据-程序员宅基地

文章浏览阅读1.1k次,点赞9次,收藏9次。使用AJAX技术的好处之一是它能够提供更好的用户体验,因为它允许在不重新加载整个页面的情况下更新网页的某一部分。另外,AJAX还使得开发人员能够创建更复杂、更动态的Web应用程序,因为它们可以在后台与服务器进行通信,而不需要打断用户的浏览体验。在Web开发中,AJAX(Asynchronous JavaScript and XML)是一种常用的技术,用于在不重新加载整个页面的情况下,从服务器获取数据并更新网页的某一部分。使用AJAX,你可以创建异步请求,从而提供更快的响应和更好的用户体验。_ajax 获取http数据

Linux图形终端与字符终端-程序员宅基地

文章浏览阅读2.8k次。登录退出、修改密码、关机重启_字符终端

随便推点

Python与Arduino绘制超声波雷达扫描_超声波扫描建模 python库-程序员宅基地

文章浏览阅读3.8k次,点赞3次,收藏51次。前段时间看到一位发烧友制作的超声波雷达扫描神器,用到了Arduino和Processing,可惜啊,我不会Processing更看不懂人家的程序,咋办呢?嘿嘿,所以我就换了个思路解决,因为我会一点Python啊,那就动手吧!在做这个案例之前先要搞明白一个问题:怎么将Arduino通过超声波检测到的距离反馈到Python端?这个嘛,我首先想到了串行通信接口。没错!就是串口。只要Arduino将数据发送给COM口,然后Python能从COM口读取到这个数据就可以啦!我先写了一个测试程序试了一下,OK!搞定_超声波扫描建模 python库

凯撒加密方法介绍及实例说明-程序员宅基地

文章浏览阅读4.2k次。端—端加密指信息由发送端自动加密,并且由TCP/IP进行数据包封装,然后作为不可阅读和不可识别的数据穿过互联网,当这些信息到达目的地,将被自动重组、解密,而成为可读的数据。不可逆加密算法的特征是加密过程中不需要使用密钥,输入明文后由系统直接经过加密算法处理成密文,这种加密后的数据是无法被解密的,只有重新输入明文,并再次经过同样不可逆的加密算法处理,得到相同的加密密文并被系统重新识别后,才能真正解密。2.使用时,加密者查找明文字母表中需要加密的消息中的每一个字母所在位置,并且写下密文字母表中对应的字母。_凯撒加密

工控协议--cip--协议解析基本记录_cip协议embedded_service_error-程序员宅基地

文章浏览阅读5.7k次。CIP报文解析常用到的几个字段:普通类型服务类型:[0x00], CIP对象:[0x02 Message Router], ioi segments:[XX]PCCC(带cmd和func)服务类型:[0x00], CIP对象:[0x02 Message Router], cmd:[0x101], fnc:[0x101]..._cip协议embedded_service_error

如何在vs2019及以后版本(如vs2022)上添加 添加ActiveX控件中的MFC类_vs添加mfc库-程序员宅基地

文章浏览阅读2.4k次,点赞9次,收藏13次。有时候我们在MFC项目开发过程中,需要用到一些微软已经提供的功能,如VC++使用EXCEL功能,这时候我们就能直接通过VS2019到如EXCEL.EXE方式,生成对应的OLE头文件,然后直接使用功能,那么,我们上篇文章中介绍了vs2017及以前的版本如何来添加。但由于微软某些方面考虑,这种方式已被放弃。从上图中可以看出,这一功能,在从vs2017版本15.9开始,后续版本已经删除了此功能。那么我们如果仍需要此功能,我们如何在新版本中添加呢。_vs添加mfc库

frame_size (1536) was not respected for a non-last frame_frame_size (1024) was not respected for a non-last-程序员宅基地

文章浏览阅读785次。用ac3编码,执行编码函数时报错入如下:[ac3 @ 0x7fed7800f200] frame_size (1536) was not respected for anon-last frame (avcodec_encode_audio2)用ac3编码时每次送入编码器的音频采样数应该是1536个采样,不然就会报上述错误。这个数字并非刻意固定,而是跟ac3内部的编码算法原理相关。全网找不到,国内音视频之路还有很长的路,音视频人一起加油吧~......_frame_size (1024) was not respected for a non-last frame

Android移动应用开发入门_在安卓移动应用开发中要在活动类文件中声迷你一个复选框变量-程序员宅基地

文章浏览阅读230次,点赞2次,收藏2次。创建Android应用程序一个项目里面可以有很多模块,而每一个模块就对应了一个应用程序。项目结构介绍_在安卓移动应用开发中要在活动类文件中声迷你一个复选框变量

推荐文章

热门文章

相关标签