草庐IT

python自学最快多长时间学完?

liuliumei 2023-04-19 原文

0.基本的数据类型:

 
  • Number(数字)
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Set(集合)
  • Dictionary(字典)

 

1.基本的输入输出:

input #输入

print #输出

age = 10;
name = "小明";
print(age,type(age))

inputage = input("请输入你的年龄:")
print(inputage,type(inputage))


print("我的名字是:"+name+",年龄是:",age)

2.列表:list

 
#生成列表
score_list = [12,'aa',12.3,True,12]
print(score_list[1])

#列表添加数据
# append:向队尾追加元素
#insert:根据指定的位置添加元素

#score_list.append("bb")
score_list.insert(2,"bb")  #在第二个下标位置添加元素“bb”
print(score_list)

#根据下标查询列表中的元素
#下标范围:从0开始,长度减一,循环列表
print(score_list[-3])

#根据下标删除数据
del score_list[2]
print(score_list)
#直接删除整个列表
# del score_list
# print(score_list)

#列表之间可以通过 + 拼接
scores = [23,24,5423,'12']
listAll = scores+score_list
print(listAll)

 

 

3.元组:tuple

#特点:有序的,允许存储重复的元素,允许存储不同的数据类型 #只能查询,不能修改!!! #用小括号,与列表不同

 
showlist = ('aa',21,"时间")
print(showlist,type(showlist))
print(showlist[-1])

#如果元组中只有一个元素时,必须在元素后面加逗号
a = (12,)
print(type(a))


#元组中元素不可以更改,不能添加删除某个元素,但是可以直接删除整个元组
del showlist
 

4.字典:dict

 

#字典中的元素都是key:value 的组合形式,都是成对出现的键字对

#多个元素之间用逗号隔开,key不能重复使用,如重复,后面会覆盖

 
student = {"name":"aa","age":18}
#根据key查询value的值
print(student["name"])

#添加元素:key不存在时添加,存在时修改
student['hobby'] = 'bb'
print(student,type(student))

5.集合:set

 

#用花括号{},无序的

 
#利用set()函数定义
a = set('absabdbasjd')
print(a)

#用{}直接定义,需要注意的是,创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典
score_set = {12,231,"12",1}
print(score_set,type(score_set))

6.分析循环语句

 
#分支和循环语句
#1.条件语句if
#单循环
if 1:
    print("aa")

#双分支
num1 = input("请输入第一个数:")
num2 = input("请输入第二个数:")

if num1 > num2:
    print(num1)
elif num1 < num2:
    print(num2)
else:
    print("相等")

#2.使用for遍历
herolist = ['英雄','人物','皮肤']
for hero in herolist:
    print(hero)

#使用循环遍历取值:10以内的数值
#range(a,b,c):a到b,包含a不包含b!!,以c为步长,默认为1
#range(10):10以内的数值
#从0开始,到9,不包含10
for i in range(10):
    print(i)

#打印10到20之间的数
for a in range(10,20,2):
    print(a)

#题目:遍历10-20以内的所有数值并存储到列表中
num = []
for a in range(10,20):
    num.append(a)
print(num)

#列表生成式,老手常用,掌握!!!
nums = [i for i in range(10,20)]
print(nums)

 

 

7.基本运算符

 
#python不可以写++,-- 只能写+=  -=
age = 20
age += 1
print(age)

#获取小数
print(7/3)

#取整(数学库中的方法)和四舍五入
import math
#向上取整
print(math.ceil(3.14259))
#向下取整
print(math.floor(3.14159))

#四舍五入 round(a,b) 保留b位小数的情况下对a进行四舍五入
print(round(3.14159,2))

 

 

8.数据的格式化

name = "aa"
age = 18
#方式一:代替符  %s:字符串  %d:表示数值
#通常使用第一种
a = "我的名字是:%s 我的年龄%d"%(name,age)
print(a)

#方式二:
b = "我的名字是:{} 你的年龄是{}".format(name,age)
print(b)

 


9.字符串的切割

msg = "汉阳 / 王家湾 / 平塘路保利青年荣耀"
#split():通过指定分隔符对字符串进行切片,返回的结果一定是一个列表
result = msg.split("/")
print(result)
#等价输出
nums = [i for i in result ]
print(nums,type(nums))
#2.对切割之后每个结果都去掉前后的空格  strip()
#strip():用于移除字符串头尾指定的字符(默认为空格)或字符序列。
#该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。
for i in result:
    print(i.strip())

#3.replace:替换
word = "aa,aa,bb,c,cd"
print(word)
#链式调用
word = word.replace("aa","ff").replace("c","d")
print(word)

#4.find方法:查找一个字符串中是否存在某个字符
msgs = "hello world"
print(msgs.find("hello"))
print(msgs.find('lo'))
#如果存在返回的是对应的下标,如果不存在,返回-1

python面向对象的语法

 

10.类和方法

#类的定义:面向对象 类 对象 方法
#类中包含属性和方法 属性:静态特征 方法:动态特征

#创建类
class Student:
    #定义属性
    name = "aa"
    age = 18

    #show方法 self就是代表当前对象
    def show(self,name,age):
        self.name = name
        self.age = age

#类的外部方法 没有self参数
def a():
    pass


#创建学生对象
zhangsan = Student()
#给对象的属性赋值
zhangsan.name = "张三"
zhangsan.age = 20
#调用对象中的方法
# zhangsan.show("李四",22)
zhangsan.show()

11.文件的读写

 
#文件的读写:open("要读写文件的路径","操作符")打开文件
#路径:绝对路径和相对路径【推荐】
#操作符:r(read):读 w(write):清空写 a(append):追加写
#rb二进制读 wb二进制写 ab二进制追加写

#1。打开文件
fileReader = open("a.txt",'r',encoding="utf-8")

#2.调用读取的方法

#read():读取文件所有内容,并返回整个字符串
#readline():每次只读取一行
#readlines():读取所有的内容,返回每行内容作为列表
result01 = fileReader.read()
print(result01,type(result01))
result02 = fileReader.readline()
print(result02,type(result02))
result03 = fileReader.readlines()
print(result03,type(result03))

#1.打开文件
writerFile = open("a.txt","w",encoding="utf-8")
#如果文件不存在,会像创建文件,再写入内容
#2.调用方法
writerFile.write("中文")
# writerFile.close() #手动关闭

#写入文件自动关闭
with open("c.txt","w") as file:
    file.write("ag3ijisdfjs")


# #二进制的读取和写入
# #二进制读取,不能添加encoding参数
# with open("a.txt","rb") as file:
#     #把二进制内容转换位字符串:decode()解码
#     print(file.read().decode())

#二进制写入
with open('d.txt','wb') as file:
    #把字符串转化为二进制 encode()编码
    file.write('aasadasd'.encode())

 

 

12.正则表达式

#正则表达式
#导入正则库
import re
#1.match :只返回满足正则表达式的第一个匹配结果
#规则:由一些普通字符和一些元字符组成
result = re.match(r'[abc]',"csdadasddasdasd")
print(result.group())

#findall():返回所有满足正则表达式的匹配结果,组成列表
results = re.findall(r'[abc]','salbgfhgjgj')
print(results)

#手机号码的匹配:
#以1开头 135 187 11位
#Python学习群:748   989   764
result = re.findall(r'^1[3|5|7|8|9]\d{9}$','18723472345')
print(result)

 

 


 

有关python自学最快多长时间学完?的更多相关文章

  1. python - 如何使用 Ruby 或 Python 创建一系列高音调和低音调的蜂鸣声? - 2

    关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。

  2. ruby-on-rails - Ruby 检查日期时间是否为 iso8601 并保存 - 2

    我需要检查DateTime是否采用有效的ISO8601格式。喜欢:#iso8601?我检查了ruby​​是否有特定方法,但没有找到。目前我正在使用date.iso8601==date来检查这个。有什么好的方法吗?编辑解释我的环境,并改变问题的范围。因此,我的项目将使用jsapiFullCalendar,这就是我需要iso8601字符串格式的原因。我想知道更好或正确的方法是什么,以正确的格式将日期保存在数据库中,或者让ActiveRecord完成它们的工作并在我需要时间信息时对其进行操作。 最佳答案 我不太明白你的问题。我假设您想检查

  3. ruby-on-rails - 将 Ruby 中的日期/时间格式化为 YYYY-MM-DD HH :MM:SS - 2

    这个问题在这里已经有了答案:Railsformattingdate(4个答案)关闭4年前。我想格式化Time.Now函数以显示YYYY-MM-DDHH:MM:SS而不是:“2018-03-0909:47:19+0000”该函数需要放在时间中.现在功能。require‘roo’require‘roo-xls’require‘byebug’file_name=ARGV.first||“Template.xlsx”excel_file=Roo::Spreadsheet.open(“./#{file_name}“,extension::xlsx)xml=Nokogiri::XML::Build

  4. ruby - 查找字符串中的内容类型(数字、日期、时间、字符串等) - 2

    我正在尝试解析一个CSV文件并使用SQL命令自动为其创建一个表。CSV中的第一行给出了列标题。但我需要推断每个列的类型。Ruby中是否有任何函数可以找到每个字段中内容的类型。例如,CSV行:"12012","Test","1233.22","12:21:22","10/10/2009"应该产生像这样的类型['integer','string','float','time','date']谢谢! 最佳答案 require'time'defto_something(str)if(num=Integer(str)rescueFloat(s

  5. Python 相当于 Perl/Ruby ||= - 2

    这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Pythonconditionalassignmentoperator对于这样一个简单的问题表示歉意,但是谷歌搜索||=并不是很有帮助;)Python中是否有与Ruby和Perl中的||=语句等效的语句?例如:foo="hey"foo||="what"#assignfooifit'sundefined#fooisstill"hey"bar||="yeah"#baris"yeah"另外,类似这样的东西的通用术语是什么?条件分配是我的第一个猜测,但Wikipediapage跟我想的不太一样。

  6. java - 什么相当于 ruby​​ 的 rack 或 python 的 Java wsgi? - 2

    什么是ruby​​的rack或python的Java的wsgi?还有一个路由库。 最佳答案 来自Python标准PEP333:Bycontrast,althoughJavahasjustasmanywebapplicationframeworksavailable,Java's"servlet"APImakesitpossibleforapplicationswrittenwithanyJavawebapplicationframeworktoruninanywebserverthatsupportstheservletAPI.ht

  7. 华为OD机试用Python实现 -【明明的随机数】 2023Q1A - 2

    华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o

  8. python - 如何读取 MIDI 文件、更改其乐器并将其写回? - 2

    我想解析一个已经存在的.mid文件,改变它的乐器,例如从“acousticgrandpiano”到“violin”,然后将它保存回去或作为另一个.mid文件。根据我在文档中看到的内容,该乐器通过program_change或patch_change指令进行了更改,但我找不到任何在已经存在的MIDI文件中执行此操作的库.他们似乎都只支持从头开始创建的MIDI文件。 最佳答案 MIDIpackage会为您完成此操作,但具体方法取决于midi文件的原始内容。一个MIDI文件由一个或多个音轨组成,每个音轨是十六个channel中任何一个上的

  9. 「Python|Selenium|场景案例」如何定位iframe中的元素? - 2

    本文主要介绍在使用Selenium进行自动化测试或者任务时,对于使用了iframe的页面,如何定位iframe中的元素文章目录场景描述解决方案具体代码场景描述当我们在使用Selenium进行自动化测试的时候,可能会遇到一些界面或者窗体是使用HTML的iframe标签进行承载的。对于iframe中的标签,如果直接查找是无法找到的,会抛出没有找到元素的异常。比如近在咫尺的例子就是,CSDN的登录窗体就是使用的iframe,大家可以尝试通过F12开发者模式查看到的tag_name,class_name,id或者xpath来定位中的页面元素,会抛出NoSuchElementException异常。解决

  10. python ffmpeg 使用 pyav 转换 一组图像 到 视频 - 2

    2022/8/4更新支持加入水印水印必须包含透明图像,并且水印图像大小要等于原图像的大小pythonconvert_image_to_video.py-f30-mwatermark.pngim_dirout.mkv2022/6/21更新让命令行参数更加易用新的命令行使用方法pythonconvert_image_to_video.py-f30im_dirout.mkvFFMPEG命令行转换一组JPG图像到视频时,是将这组图像视为MJPG流。我需要转换一组PNG图像到视频,FFMPEG就不认了。pyav内置了ffmpeg库,不需要系统带有ffmpeg工具因此我使用ffmpeg的python包装p

随机推荐