学习python主要是对自己的一种自身的要求,让自己更加的优秀,在同龄人中能够拔得头筹。希望自己未来的几年中能够凭借自己的技术,撑起自己对物质的需求。
第一次学习python,心里还是很激动的,怕自己学不会,学不好,不管会不会,我不想掉队。坚持、坚持、坚持。
Python的优缺点
1、python明确、简单、易懂 个人认为是初学者的最好的选择,曾经自己看过端时间的java,可以很明的说,python比java简单多了
2、开发效率非常高,Python有非常强大的第三方库,基本上你想通过计算机实现任何功能,Python官方库里都有相应的模块进行支持,直接下载调用后,在基础库的基础上再进行开发,大大降低开发周期。
3、高级语言,当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节
4、可移植性--如果不是非要调用系统的底层权限,是可以完美移植到任何系统的。
5、可扩展性,由于解释性语言的源码可以直接被看到,所以python支持调用c/c++所书写的方法,这样起到了加密的作用
6、可嵌入性--你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。
再看看缺点:
1、代码不能加密,作为解释性语言,它的源码都是以名文形式存放的。如果你需要你的代码加密,可以使用其他预言书写
2、线程不能利用cpu的优势。
3、速度较c语言较慢,但是人类无法去感受这样的慢的速度,需要更加专业的测试工具才能测试出,代码在运行时的速度
我想说的是 没有最优秀的语言,也没有最好的语言,但是却有最牛逼的开发工程师,不需要和别人去争论那种语言好,各有各的优点。
Python安装
windows安装去官网下载最新的就可以了。。
2.x只支持到2020年,所以我们还是抓紧换了吧。
windows的安装很简单。。一直下一步就ok了。。
注意如果想在CMD下直接使用python需要配置环境变量
如何配置环境变量,百度吧,一百度一大堆,要学会自己学习,这是我进入it行业第一位老师交给我最有用的一句话。
linux和mac无需安装python
自带2.7 现在都用3.x了
如果没有3.x 推荐个链接吧
http://jingyan.baidu.com/article/eae07827f7f2d01fec5485f7.html
亲测好使。。。
Python基础
Python的语法比较简单,采用缩进方式,写出来的代码就像下面的样子:
# print absolute value of an integer:
1 a = 100 2 if a >= 0: 3 print(a) 4 else: 5 print(-a)
以#
开头的语句是注释,注释是给人看的,可以是任意内容,解释器会忽略掉注释。其他每一行都是一个语句,当语句以冒号:
结尾时,缩进的语句视为代码块。
Python使用缩进来组织代码块,请务必遵守约定俗成的习惯,坚持使用4个空格的缩进。
在文本编辑器中,需要设置把Tab自动转换为4个空格,确保不混用Tab和空格。
Hello World程序
好的进入正题,hello world我认为是每一名开发都要做的,虽然简单,但是也证明你正式踏上屌丝程序员的路,恭喜你。
之所以选择学习python是因为 java的hello world 要写太多代码了 累啊。。。
我们来看下java的hello world怎么写的,,,在看看python是在怎么写的
首先java
1 class HelloWorld{ 2 3 public static void main(String[]args){ 4 5 System.out.println("Hello World"); 6 7 } 8 }
8行的hello world
好的我们看下 python的helloworld
print("Hello World“}
再看看python的。。。我想你应该知道学习那个了
有一点需要注意,如果是需要在linux下运行我们写的.py的文件的话,要先制定他解释器
#!/usr/bin/env python
print "hello,world"
#!/usr/bin/env python 就代表着我在执行时需要用python执行
如果我们需要执行.py文件的话,需要给他执行的权限
chmod +x xxx.py 或 chmod 777 xxx.py
这涉及到了linux基础的一些知识,推荐本书吧,,,《鸟叔的linux私房菜》看完你会受益匪浅。。。。
如果你已经成功加上了执行权限./xxx.py就可以直接运行了
变量
声明变量
name = 'houyafan'
上面的代码就是声明了一个变量,变量名为:name 变量的值为houyafan
变量定义的规则:
- 变量名只能是 字母、数字或下划线的任意组合
- 变量名的第一个字符不能是数字
- 以下关键字不能声明为变量名
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
变量的赋值
name = "houyafan" name1 = name print(name,name1) name="doubi" print("What is the value of name2 now?")
# 可以通过内存的id来验证
# 可以看到name的改变没有对name1进行改变。,当赋值成功后,已在内存开辟了另外一个空间存储name1
# 所以对于name的更改不会影响到name1的值,两个根本不存在同一个内存区域
print(id(name))
print(id(name1))
用户输入
1 name = input("Please enter your username : ") 2 3 print(name)
将用户输入的值赋值给变量name 并打印name
可以做一个小实验,这里还有一个小知识点
name = input("Please enter your username : ") # type()可以接收任何东西作为参数――并返回它的数据类型。整型、字符串、列表、字典、元组、函数、类、模块,甚至类型对象都可以作为参数被 type 函数接受。 print(type(name)) age = int(input("Please enter your age : ")) print(type(age))
可以看到我们在print name的类型时 是一个str的类型,而在print age的类型时是一个int的类型,多次尝试后发现,input进来的值都默认变成了str的类型
当我们需要使用int类型的值时需要 用int()这个方法将str强制转换成int类型。
当然也是可以str()转换成str类型的,float()转换成float(浮点型),hex()可以将值转换成16进制,long()把字符串和数子转换成长整数
list()函数可将序列对象转换成列表,oct()函数可把给出的整数转换成八进制数,ord()函数返回一个字符串参数的ASCII码或Unicode值、格式
print(ord("侯"))
表达式if ... else
通过场景我们来学习如何使用if elif else 判断
验证谁来了?
name = input("Please enter your username : ") if name == "houyafan": print("Welcome..{info_name}".format(info_name=name)) elif name == "hyf": print("Welcome..{info_name}".format(info_name=name)) else: print("{info_name} is not here...".format(info_name=name))
当我输入houyafan时提示我houyafan来了,我输入hyf时提示我hyf来了 当都不是这两个人时,提示xxx不在这里
这里面的format(),是一种格式化输出索要用到的方法
if...elif...else 中的判断方式有很多列出几种:
name = input("Please enter your username : ") # 可以== 或 != 或 > 或 < if name == "houyafan": print("Welcome..{info_name}".format(info_name=name)) # 也可以是 in 的方法 字符串“hyf” 是否在name中 elif "hyf" in name: print("Welcome..{info_name}".format(info_name=name)) # 也可以是多重判断条件同时存在 elif name == "houyafan" and "hyf" in name : print("{info_name} is not here...".format(info_name=name)) # 也可以是一对象 elif new_input_username.count(username)==3 : print("{info_name} is not here...".format(info_name=name)) else pass
表达式for循环
Python的循环有两种,一种是for...in循环,依次把list或tuple中的每个元素迭代出来
1 names = ['Michael', 'Bob', 'Tracy'] 2 3 for name in names: 4 5 print(name)
所以for x in ...
循环就是把每个元素代入变量x
,然后执行缩进块的语句。
再比如我们想计算1-100的整数之和,可以用一个sum
变量做累加:
sum = 0 for x in range(101): sum = sum + x print(sum)
range()是一个人数量生成的方法,可以生成一个整数序列,再通过list()
函数可以转换为list。比如range(5)
生成的序列是从0开始小于5的整数。
while循环
基本格式
# while 条件: # 循环体 # 如果条件为真,那么循环体则执行 # 如果条件为假,那么循环体不执行 while True: print(1)
上面的测试测序是一个死循环,条件一直为真,不停输出1。
while的条件判断也有多种判断的形式,只要while 的条件为真,这个循环就会一直持续下去。
当然也可以做判断如:
x=0 while x<3: x+=1 print("run!!!")
当x<3时 输出run,当x>=3时 循环就停止了。
break和continue的理解:break是打校长,就不用上课了,continue是打老师,只不过当天不用上课,后面还得上课!
break 退出整个循环
continue退出当前循环
for、while和 if..elif...else结合使用的组合也是有很多的
在运用的过程中可以随意的组合。
第一天就这样,也是第一次正式的学习python开发,第一次写博客,太多的第一次放到一起,今天是个新起点,坚持吧,相信自己!!
KID