(作为一门大三狗写出这系列的python学习日记,希望有大神看到之后在评论下方指点出来,十分感谢)
先说说我为什么学习python吧,作为一名优秀的程序员(码农),需要掌握一门面向过程的语言,面向对象的语言,一门脚本语言,一门数据库语言,那接下来先介绍一下各门语言吧。
面向过程语言:现在面向过程的语言主流的也就是C语言,所以对于面向过程的语言学习C语言那是一定的。
面向对象语言:面向对象的语言现在就太多了。想Java,C++等语言都是面向对象的语言,Java相对于C++要很多,如果想快速入门的话,推荐Java;如果选择了C++,并坚持到了最后,那么以后学习其他高级语言都会减少很多压力。
脚本语言:Python语言,Shell语言,Makefile语言,JavaScript,PHP,ruby等等
数据库语言:Oracle,SQL Server,MySQL,HBase,Access等
Python虽然是一门脚本语言,但是它现在的受欢迎程度却是无限的在升高。那么python的优点有哪些呢:
1、Python比起Java,C/C++语言来说要简单易学得太多了,可以作为编程的入门语言来学习。
2、Python是开源的,所以学习Python可以到网上下载很多别人的项目来学习。但是这也是它的缺点之一,正因为它是开源的,所以在用Python开发项目的时候,项目的核心部分最好别用Python写,不然到时候项目被别人给copy了,那你的所有努力岂不是付诸东流了。
3、Python可移植性强,正因为Python的开源所以Python可以移植到Windows,Linux,MacOS,iOS,Andorid等平台上。
4、Python支持面向对象跟面向过程,用起来非常的灵活
5、丰富的第三方库,正因为Python的开源,所以Python的第三方库多得不要不要的,你可以调用Python的第三方库进行网络爬虫、web开发,大量数学计算。
其他优点等我学习完Python之后再慢慢补充。
由于博主学习过C/C++跟java,所以在学习的过程中会拿Python跟C/C++,java进行比较,从而达到更加深刻的学习Python。
Python是一门解释型的语言,而C/C++,java是一门编译型的语言。那么什么是编译型语言,什么是解释型语言呢?假设我们手里有一本英语书,对于我这种英语渣来说阅读一本外语书你不给我翻译出来你是想要我去si啊?而对于某些外语好一些的看起英语语书来压力自然要小一些(当然我们这把那些歪果仁排除开)但是还是没有看中文书那样感觉来得快.......编译型语言就像是把外语书(程序)翻译中文(机器码源程序),那么你(计算机)看书时(运行程序时)只需要看翻译好的中文书就可以了(运行编译好的机器码源程序),而解释型程序呢?哼,外语书直接给你,你慢慢看吧,我们一边看一边理解还得一边查字典,(计算机则是一边解释代码,一边执行代码)那得多慢啊,当然了计算机跟人不一样,计算机唯一比人好的地方那就是快,计算机在运行编译型程序时速度固然是快,但是解释型的程序也不会太慢,大多数解释型程序的速度与编译型程序的速度人的肉眼一般察无法比较,当然那些超大项目的话,用解释型程序自然要慢很多。————那么解释型程序有什么优点呢?
1、假如我们把翻译好的书拿给那些印度人看,excuse me?英语我还看得懂一些,你给我中文???ARE YOU KIDDING ME ? 计算机也是如此,你把Windows编译好的程序拿去给Linux上执行,那自然是行不通的。而解释型程序只需要有解释器就可以执行项目了。
2、解释器就像人种一样,中国人的人均英语水平较低,而阿san们由于被英国人的长期的统治,英文水平自然比中国人要好一些,那么看起英文书来自然要快一些。而Python的解释器也一样,Python的解释器有CPython、IPython、Jython、PyPy。PyPy现在可是Python最快的解释器,正因为有了PyPy,Python在某些方面的运行速度都不亚于C/C++。
————————————————————————————————————————————————————————
接下来开始Python的学习:
首先我们开始编程语言学习的第一个套路:Hello World ???
下面介绍Python,java,C的输出
print("你好,师姐") #Python
public class HelloWorle{ //Java
public void main(String[] argv){
System.out.println("你好,师姐");
}
}
void main(int argc,char** argv) //C语言
{
printf("%s","你好,师姐");
return ;
}
OK。。。在问候完我们的世界之后,我们开始学习变量:
Python是一门动态语言(在运行时改变代码结构),所以不用声明数据类型。我们先来学习Python的基本数据类型吧。
首先我们先创建几个变量
intNum = 10 #整型
floatNum = 1.22 #浮点型
StringWords1 = '你好,大师姐' #字符串型
StringWords2 = "你好,二师姐" #字符串型
StringWords1 = '''你好,师娘''' #字符串型
boolNum = True #布尔型
Python中的简单数据类型就这几种,当然了字符串型比较特殊;Python的字符串可以用单引号,双引号,三个单引号,三个双引号括起来。那么他们有什么区别呢:
print('hello world') #假如在单引号内需要换行需要使用\n
print('hello \n world') #单引号内可以使用双引号
print("hello \n world") #双引号内换行同样需要使用\n,且双引号内可以使用单引号
print('''hello
world''') #三双引号和三单引号内的输出可以保持原来格式输出
print("""he
llo wor
ld""")
OK,在学习完print之后我们来学习一下Python的输入(input):
num = input("pleease input one word") #input方法会现在控制台提示双引号内的信息,
#然后让你输入一个值,这个值以字符串的形式返回给num,所以如果输入了一个整型或一个浮
#点型的数,如需对其进行数学操作则需要将其强转为整型或浮点型
print(type(num)) #输出结果为<class 'str'>表示String类型
num1 = int(input("please input one num")) #这是将字符串强转为整型
num2 = float(input("please input one num")) #这是将字符串强转为浮点型
Python中的字符串拼接跟C/C++,java也有些许不同:
num = 111
words = "I love China"
#方法一
string1 = "I love my family, %d ,%s"%(num,words)
#方法二
string2 = "I love my family, {_num},{_words}".format(_num=num,_words=words)
#方法三
string3 = "I love my family, {0},{1}".format(num,words)
#方法四 使用加法重载运算符会出现大量的临时字符串,对大量字符串拼接时不推荐使用
string4 = "I love my family"+str(num)+words
#方法五 这种方法连接的字符串之间没有空格,且不能对变量进行连接
string5 = "I love my family,""111,""I love China"
#方法六 这种方法输出string6跟输出整个字符串结果不同。
#前者三个字符串当成一个字符串数组,所以直接输出string6的话输出格式是按输出数组的格式输出
#后者输出结果跟方法1,2,3,4,5相同
string6 = 'I love my family','111','I love China'
print(type(string6)) #得到的结果为<class 'tuple'>
print('I love my family','111','I love China')
#方法七 方法六中得到了一个数组string6,那么如何输出得到以上方法相同的结果呢?
string7 = "".join(string6)
#以上七种方法除了特别强调的,其他输出结果都相同
好了,好了讲了这么多数据类型的东西(还没提到的接下来几天在讲),接下来给大家说一些Python的逻辑循环,说道逻辑循环,那就得跟大家说说Python的强制自动缩进,Python中取消了C/C++,JAVA中的使用{ }表示作用域,通过缩进向大家展示作用域,所以table键替换了{},在开始自作用域之前需要使用: 加以声明。虽然刚开始的时候会有点不适应,但是Python的这种机制使得代码更加的优美,增加了代码的可读性,观赏性。
————————————————————————————————————————————————————————
首先给大家介绍一下if else逻辑判断:需要注意的是Python的else if简写成了elif,并且在每次开始作用域之前要使用 : 声明
num = int(input("请输入一个整数"))
if num>0:
print("这个数大于0")
elif num == 0:
print("这个数等于0")
else:
print("这个数小于0")
if else 之后是while循环,需要注意的是,在Python里面没有了自增自减两个运算符了,所以减一只能使用num-=1了
num = int(input("请输入一个值"))
while num >= 0:
print(num)
num-=1
for循环,在Python中for循环跟C/C++中的比较不同:
#用法一: i的初值默认为0,步数默认为1
for i in range(10):
print(i)
#用法二: 0是j的初值,10相当于j<10,1表示的是每次循环j的步数
for j in range(0,10,1)
print(j)
OK!!!!!!!!!!!! 第一天就先到这了,望各路大神在发现小弟文章中的错误时及时指点。
毕竟这是我的第一个编程系列,望多海涵。。。。万分感谢