目录
学Python你应该get到的三句话!
跟紧潮流不是随波逐流!
投靠大佬不是投机取巧!
赚取利益不是急功近利!
Python全套语法重磅来袭!
初识python之概念认知篇
初识python之软件安装篇
Pycharm
anaconda
初识python之技巧总结篇
初识python之基础语法篇
知识点思维导图
input函数
基础语法的那些坑
初识python之条件循环篇
知识点思维导图
条件语句案例
循环语句案例
break与continue
range(num)函数
条件循环那些坑
初识python之元组列表篇
知识点思维导图
元组
访问元组
列表
初识Python之字典集合篇
知识点思维导图
创建字典
修改字典
字典内置函数
遍历字典
集合
字典里面的那些坑
初识Python之函数模块篇
知识点思维导图
定义函数
匿名函数
初识Python之面向对象篇(上)
初识Python之面向对象篇(下)
知识点思维导图
详细语法案例
初识Python之文件操作篇(上)
初识Python之文件操作篇(下)
知识点思维导图
操作
初识Python之异常处理篇
知识点思维导图
异常处理介绍
初识Python之正则表达篇(完结)
学习永无止境,欢迎关注:王小王-123,带你一起学习!
每文一语
Python是近几年比较火热的编程语言,至于有多火热?偶尔打开微信公众号,页面下面弹出的是《Python训练营》,打开朋友圈发现有推荐学习Python的课程,打开CSDN,发现热榜第一又是Python推荐文章,不得不说Python的影响力在目前还是比较大的,这和Python社区的宣传力度有着密切的关系!
目前学习Python的人有多少呢?那些人在学习Python呢?至于这个问题,我认为没有一个准确的答案,因为每一天学习Python的人都在增加,学习Python被越来越多的人注重,所以要回答这个问题,最好的答案就是一切都在进行时!从小学开始都有人开始在教授Python编程思维,有的地区甚至将Python纳入升学考试,文科专业也在学习Python,从小学生到大学生;从非专业到专业;从喜爱到擅长,这些都足以证明Python没有错!
全民学Python的热潮早已兴起,话不多说,快去学习吧!
每个人的学习都会有一个迷茫期:如何学,怎样去学,有哪些资源去学?对于一个刚开始的编程学习者来说,如果没有一个专业的老师去引导你学习,有可能学习路线会比较的曲折,对于刚开始学习Python应该找一个适合自己的路线,最好是从基础的开始慢慢的学习,有一个比较详细的规划,所以我才想写这篇文章,送给那些曾经和我一样迷茫且有梦想的Python学习者。
我始终相信一句话:请永远记住每一步走过的路都是值得的!人生没有一直的遗憾,就算是错过,你也要相信下一次的遇见更精彩!
又让我想到了一句话:只有经济独立,才能灵魂挺拔!
学习Python能做什么?如果不能给你的生活加一个鸡腿,学生党会如此热爱它吗?如果不能给你的未来插上翅膀?职业人员会如此青睐它吗?如果不能给你的梦想披上光环?Python它能火吗?
所以说学习一定要有输出,你学的每一个东西都可以赚钱,至于如何赚取利益,就是你自己的事情呢,学完Python你可以做爬虫,你可以做数据分析,你可以做自动化办公,你还可以做很多的事情。很多人学到了一定的长度之后,他觉得很迷茫,不知道怎么去入手,这个时候你就可以去通过技术来获取money,知识转换为金钱一定是需要有一个过渡期的,这样还可以不断提升你的职业能力。
本来想要直接开篇干技术的,但是我还是写下了这三句话,希望我们的人生不只是有枯燥的代码,还应该有快乐的的人生——左手诗情画意,右手代码人生!
温馨提示:本文所有蓝色字体均可点击,可以跳转到相应文章标签。
之前写过一个专栏《初识Python之系列文章》,当时更新完这个专栏的时候,我发现并没有很多的关键词被点击,因为我想要的是一个包含Python全套的语法,所以有结构就要牺牲一下流量热度,酒香不怕巷子深,今天的这篇文章将带它重出江湖!一战成名!
首先学习Python要知道什么是Python?其实在这篇文章我已经介绍的非常详细了,大家可以点击进去阅读!
在我的认知里面我觉得,你要想学好一个东西一定要:知其然,然后知其所以然!
知己知彼,方可百战百胜,说的没有错!
1. PYcharm专业版是功能最丰富的,与社区版相比,PYcharm专业版增加了Web开发、Python We框架、Python分析器、远程开发、支持数据库与SQL等更多高级功能。
2. PyCharm的社区版中没有Web开发、Python We框架、Python分析器、远程开发、支持数据库与SQL等这些功能。
3. 专业版的需要我们付费购买激活码才能正常使用,适合于公司项目的开发和一些正常的运作。而作为社区版的我们可以免费进行使用,这个是适用于学习者进行学术交流,和相关编程教育者使用。
1. anaconda(官方网站)就是可以便捷获取包且对包能够进行管理,同时对环境可以统一管理的发行版本。Anaconda包含了conda、Python在内的超过180个科学包及其依赖项。
2. anaconda具有开源,安装过程简单可以高性能的使用python和R语言,同时有免费的社区支持。
3. 我们可以去下载anaconda作为我们pycharm的编译环境,在处初学python语法的过程中我们可以完全解决这些问题。
点击文章进入详细的安装教程等着你哟,工欲善其事必先利其器
我们使用的开发软件:Pycharm编辑器有一些使用技巧,之前在这篇文章里面提供了很多的技巧指南,同时给很多的小伙伴发放了资源福利,在这里我给我的粉丝小伙伴和全网小伙伴提前透露一下,粉丝如果突破10000+我将写一篇资源福利大放送文章,把我所有的资源全部奉献出来,哈哈哈,期待600个GB的文档视频和代码!
name=input("请输入你的名字:") age=int(input("请输入你的年龄")) print(name) print(age)
详细语法请点击标题!
至于详细的语法介绍,请大家移步到文章链接里面哟,点击标题即可哟
凡遇事则立,不预则废 注释很重要!!!
对于一个有发展的潜力的程序员或者IT工作者,注释一定是很重要的,要有自己的代码风格,但是一定要注释,作为一个初学者我们必须要养成注释代码的习惯,这样有利于我们以后的代码便于他人查看,这是一个程序员必须要养成的习惯之一。
在工作的时候也要注意,我们在做项目的时候,任何一个项目都是需要一个团队协作完成的,所以你负责的代码需要注释,要让其他人看得懂,这是非常重要的!
命名也是非常重要,规范的命名对我们的代码也是非常重要的,每一个公司都会有自己的命名规则,我们需要养成这种习惯,在以后可以快速的适应这种环境。
基础语法最重要的就是字符串的研究,下面是字符串的知识点详细的思维导图:
a=int(input("输入第一个数字: ")) b=int(input("输入第二个数字: ")) if a>b: print("最大值为:%s"%a) if a>=100: print(a*a) elif a==b: print("二值相等为:{}",format(a)) else: print("最小值为:%s"%b)
magicians=['alice','david','carolina'] for magician in magicians: print(magician)
current_number=1 while current_number<=5: print(current_number) current_number+=1
for letter in "python": if letter=="h" break
var=10 while var>0: var-=1 if var==5: break
for letter in "python": if letter=="h": continue
range(start,stop,step) start代表起始值,而stop代表终止值,step代表过程如果是 range(0,10,2) >>>2,4,6,8
a=list(range(1,4)) print(a) >>> [1,2,3] 这里打印出来是没有4的,这是因为range函数的特点 永远不能打印出最后的一个参数
对于条件判断,最容易忽略的就是,if 和 Elif 这个语法,当我们想要执行多次判断的时候,我们需要写多次if 语句,但是我们使用if Elif else 它只能执行一次正确的结果,所以这个是我们需要好好理解的。此外对于循环,我们应该根据具体的实际场景来设置break和continue。
创建元组
tup=("wang","xiao","wang"); tup1=(); tup2=("wang",)
注意元组是一个不可以修改的对象,需要大家记住这个!!!
元组访问要对索引有深刻的认识,索引如何理解,大家看看这个案例或许就有所感觉了
tup=["wang","xiao","wang"] print(tup[:2]) print(tup[0]) print(tup[1:]) >>> ['wang', 'xiao'] wang ['xiao', 'wang']
1.如果对于python这个字符串,取到“p”就必须是【0】
2.如果我要取到“n”可以是【5】,也可以【-1】
3.如果我要取“py”,【0:2】or[:2]
4.如果我要取到“on”,【-2:】《这里用到了负索引》
列表其实很元组创建的思想差不多,但是不一样的就是列表是:[],而元组是:()
变量.title()~首字母大写
变量.append()~添加
变量.remove()~删除
index(元素)~返回元素第一次出现的位置编号
pop([i])~返回参数位置所对应的值,并删除
变量.sort(reverse=Ture)降序排列;False为升序
更新 插入 修改 删除 都是和元组的操作一样的,列表里面可以镶嵌其他列表
a = {key1 : valuel, key2 : value2 }
创建一个字典,我们日常开发所需要的数据类型,字典相对于还是用的比较多的,对于如何操作字典我们还是需要有一定的了解
a["python"]=99
删除字典
del a["python"]
dict={} dict["python"]=100 dict["ipython"]=101 # del dict["python"] print(dict) print(len(dict)) print(str(dict)) print(type(dict))
使用keys()遍历字典里面的所有值
dict={} dict["python"]=100 dict["ipython"]=101 for a in dict.keys(): print(a)
运用sorted()来对里面的键进行排序,这里是以字母的顺序来的
使用values()遍历字典里面的所有值
dict={ "a":100,"b":15,"y":85,"c":55 } print(list(dict.values() ))
# 用set进行一些集合运算 a=set("1,2,3,4") b=set("3,4,5,6") print(a-b) print(a|b ) print(a&b) print(a^b)
对于字典里面有一个get(x,y)。这个东西容易忘记,我们这样理解,比如当我们获取这个字典的时候,我们通过x这个键来输出它的值,但是我们在这个序列里面没有发现X这个键的时候,他就会自动创建一个X键,然后对应的把后面的值传给作为X的值,如果后者不成立,那么参数Y也就是一个无用的。
注意这里的get()方法知识获取字典里面的值,但是没有改变字典的值,如果我们想要字典里面没有这个键的话,就自动创建一个,并更新字典里面的数值,就需要用到setdefault(x,y)这个方法,它和get的解释一样,都是获取值。
def<函数名>(参数列表): 函数语句 return<返回值>
# 定义一个没有参数的函数 def hello_python(): ''' 打印出一句话 :return: 无 ''' print("hello,python!") # 调用该函数 hello_python()
# 定义一个带有参数和返回值的函数 def all_return(T): ''' 计算总和 :param num: :return: 一个数字 ''' result = 0 for i in T: result += i return result print(all_return((1, 4)))
lambda函数在我们的平时开发当中有一定的好处和便捷,特别是在学习spark的时候,我们发现lambda的强大之处!
'''模拟狗狗的日常''' class Dog(): '''小狗狗''' def __init__(self,name,age): '''初始化属性name和age''' self.name=name self.age=age def wang(self): '''模拟狗狗的汪汪叫''' print(self.name.title()+"汪汪!") def shen(self): print(self.name.title()+"伸舌头") my_dog=Dog("junne",15) you_dog=Dog("linux",16) print("我的爱犬的名字是:"+my_dog.name.title()+".") print("我的爱犬已经是:"+str(my_dog.age)+"岁了!") my_dog.wang() my_dog.shen() print("\n你的爱犬的名字是:"+you_dog.name.title()+".") print("你的爱犬已经是:"+str(you_dog.age)+"岁了!") you_dog.wang() you_dog.shen()
'''继承''' '''定义并使用子类''' class Car(): """汽车之家""" def __init__(self, manufacturer, model, year):#为实例化提供形参信息 self.manufacturer=manufacturer self.model=model self.year=year self.odometer_reading=0 def get_descriptive_name(self):#返回信息打印 long_name=str(self.year)+" "+self.manufacturer+" "+self.model return long_name.title() def update_obometer(self, mileage):#里程增加 if mileage>=self.odometer_reading: self.odometer_reading=mileage # print("这是一个合理的数据!",str(self.odometer_reading)+"千米!") else: print("这是一个不合理的数据!") def increament_odometer(self,miles):#智能加曲 self.odometer_reading+=miles def read_obometer(self):#打印里程数 print("这是一辆新车,目前仪表显示行程为" + str(self.odometer_reading) + "千米!") class Bmw(Car): '''这是一个子类,基类是Car''' def __init__(self,manufacturer, model, year): super().__init__(manufacturer, model, year)#这个是一个特殊的函数,它的功能是将父类和子类连接关联起来 # self.battery_size="6缸 3.0T" self.Motor=Motor()#自动创建该motor实例,虽然没有指定参数,但是下面的函数指定了 # def motor(self): # print("发动机是"+str(self.battery_size)) class Motor(Bmw): def __init__(self,Motor_size=60): self.Motor_size=Motor_size def describe_motor(self): print("这款车的发动机参数是"+str(self.Motor_size)+"6缸,3.0T涡轮增压,225KW.") my_tesla=Bmw("宝马","535Li","2017款") print(my_tesla.get_descriptive_name()) my_tesla.update_obometer(0) my_tesla.read_obometer() # my_tesla.motor() print("*******************************") my_tesla.increament_odometer(10) my_tesla.read_obometer() my_tesla.Motor.describe_motor()
在Python里面一切皆对象,如果把面向对象的思想融会贯通之后,在设计代码的时候应该会得心应手!
详细的语法请点击标题学习!
open(filename,mode="r",buffering=-1,encoding=None,errors=None,newline=None,closed=True,opener=None)
'''writelines()''' '''该函数的功能是向文件写入多行字符串''' fo = open("王小王.txt","w",encoding="utf-8") fo.writelines("hello,python!") # 这里也可以通过写入列表,或者其他类型 for i in range(5): line=fo.readline() print(line) fo.close() '''*****************''' fo =open(r"王小王.txt",encoding="utf-8") print(fo.readline()) fo.close()
至于文件的具体操作你可以点击文章,因为涉及到的太多,简单介绍就失去其他文章汇集在这里的意义了
在实际的开发中,我们经常遇到一些报错的例子,在pycharm的显示页面下,当我们看到一串串的红色的英文字母的时候,就是出现异常,这个时候如果英文好一点的童鞋,就可以按照它的提示,自己去解决。但是英文是很多的童鞋的软肋,不过你也不要担心,这个时候你就需要有一个翻译神器,我使用的是网易有道词典,不过有时候我们还是会遇到一些比较生僻的表达,所以本期文章我们就一起来看看关于Python实际开发过程中的一些常见报错和解决方法。
try: a=str("王小王")+1233 print(a) except: print("出现异常语法错误!")
详情请点击文章标题!
正则表达式是一种文本模式,包括普通字符和元字符。正则表达式虽是繁琐的,但它是强大的,而且广泛的应用在Java,c++,PHP,Python,C#等
本来说到异常处理,Python的基础语法就应该结束了,但是我觉得正则表达式在Python里面还是在其他语言里面都应用的比较广泛,所以还是作为一个比较完整的Python全套语法,我还是写下了这篇!供大家学习和参考!
'''统计指定文件中函数和变量''' import re import sys def tongjiFunc(s): r=re.compile(r""" (?<=def\s) \w+ \(.*?\) (?=:) """,re.X |re.U) return r.findall(s) def tongjiVar(s): vars=[] r=re.compile(r""" \b \w+ (?=\s=) """,re.X|re.U) vars.extend(r.findall(s)) re.compile(r""" (?<=for\s) \w+ \s (?=in)""",re.X|re.U) vars.extend(r.findall(s)) return vars if len(sys.argv)==1: sour=input("亲输入你的文件路径:") else: sour=sys.argv[1] file=open(sour,encoding="utf-8") s=file.readlines() file.close() print("不要着急!慢慢的......") print("文件",sour,"中存在的函数有:") print("*********************************") i=0 for line in s: i+=1 function=tongjiFunc(line) if len(function)==1: print("line:",i,"\t",function[0]) print("**********************************") print("文件",sour,"中存在变量有:") print("******************************") i=0 for line in s: i+=1 var=tongjiVar(line) if len(var)==1: print("line",i,"\t",var[0]) print("结束了!!!!!")
写到这里,发现已是慢慢的收获,希望这一篇文章可以帮助全网的所有学习Python的小伙伴,你们的支持永远是我们输出的最大动力!!!
本文的高清思维导图,有需要的可以在评论区留言:QQ邮箱,自动发送!!!!!!
青春有一种执着,叫做不放弃!即使你不能逆风翻盘,但你也要向阳而生!!