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了。。
安装成功后,需要将Python.exe和python的Script目录增加到环境变量中。
Script目录下的PIP增加到环境变量中方便以后下载python的模块。
如何配置环境变量,百度吧,一百度一大堆,要学会自己学习,这是我进入IT行业第一位老师交给我最有用的一句话。
linux和mac无需安装python
自带2.7 现在都用3.x了
如果没有3.x 推荐个链接吧
http://jingyan.baidu.com/article/eae07827f7f2d01fec5485f7.html
亲测好使。。。
Python基础
Python的语法比较简单,采用缩进方式,写出来的代码就像下面的样子:
1
2
3
4
5
6
# print absolute value of an integer:
a=100
ifa>=0:
print(a)
else:
print(-a)
以#开头的语句是注释,注释是给人看的,可以是任意内容,解释器会忽略掉注释。其他每一行都是一个语句,当语句以冒号:结尾,缩进的语句视为代码块。
Python使用缩进来组织代码块,请务必遵守约定俗成的习惯,坚持使用4个空格的缩进。
在文本编辑器中,需要设置把Tab自动转换为4个空格,确保不混用Tab和空格。
Pycharm提供了代码的Reformat Code的快捷帮助 在Code--->Reformat Code
Hello World程序
进入正题,Hello World我认为是每一名开发都要做的,虽然简单,但是也证明你正式踏上屌丝程序员逆袭的道路!!!
你为什么学习Python 而不是其他语言? Java的Hello World代码带多 我认为LOW
1
2
3
4
5
6
7
8
1classHelloWorld{
2
3publicstaticvoidmain(String[]args){
4
5System.out.println("Hello World");
6
7}
8}
Python Hello World
1
print("HelloWorld“}
再看看python的。。。我想你应该知道学习那个了!
有一点需要注意,如果是需要在linux下运行我们写的.py的文件的话,要先制定他解释器
1
2
3
#!/usr/bin/env python
print("hello,world")
1
2
3
4
5
6
#!/usr/bin/env python 就代表着我在执行时需要用python执行
如果我们需要执行.py文件的话,需要给他执行的权限
chmod+xxxx.py或chmod777xxx.py
这涉及到了linux基础的一些知识,推荐本书吧,,,《鸟叔的linux私房菜》看完你会受益匪浅。。。。
如果你已经成功加上了执行权限./xxx.py就可以直接运行了
变量
声明变量
1
name='dashixiong'
上面的代码就是声明了一个变量,变量名为:name 变量值为:dashixiong
变量定义的规则:
变量名只能是字母、数字或下划线的任意组合
变量名的第一个字符不能是数字
有些特殊的关键字不可以声明为变量
['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']
1
2
3
4
5
6
7
8
9
变量的赋值
name="大师兄"
name1=name
print(name,name1)
name="二师兄"
print("What is the value of name1 now?",name1)
print(id(name))
print(id(name1))
通过变量的内存的id来验证,为什么name1没有改变为二师兄?
用户输入
1
2
name=input("Please enter your username : ")
print(name)
将用户输入的值赋值给变量name 并打印name
可以做一个小实验,这里还有一个小知识点:
type()可以接收任何东西作为参数,并返回它的数据类型。整型、字符串、列表、字典、元组、函数、类、模块,甚至类型对象都可以作为参数被 type 函数接受。
1
2
3
4
name=input("Please enter your username : ")
print(type(name))
age=int(input("Please enter your age : "))
print(type(age))
类型转换
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int(x) 将x转换为一个整数
long(x) 将x转换为一个长整数
float(x) 将x转换到一个浮点数
complex(real) 创建一个复数
str(x) 将对象x转换为字符串
repr(x) 将对象x转换为表达式字符串
eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s) 将序列s转换为一个元组
list(s) 将序列s转换为一个列表
chr(x) 将一个整数转换为一个字符
unichr(x) 将一个整数转换为Unicode字符
ord(x) 将一个字符转换为它的整数值
hex(x) 将一个整数转换为一个十六进制字符串
oct(x) 将一个整数转换为一个八进制字符串
if...elif...else
实例1
1
2
3
4
5
6
7
name=input("Please enter your username : ")
ifname=="dashixiong":
print("Welcome..{info_name}".format(info_name=name))
elifname=="dsx":
print("Welcome..{info_name}".format(info_name=name))
else:
print("{info_name} is not here...".format(info_name=name))
当我输入dashixong时提示我dashixong来了,我输入dsx时提示我dsx来了 当都不是这两个人时,提示xxx不在这里
if...elif...else 中的判断方式有很多只列出几种:
1
2
3
4
5
6
7
8
9
10
11
name=input("Please enter your username : ")
ifname=="dashixong":
print("Welcome..{info_name}".format(info_name=name))
elif"dsx"inname:
print("Welcome..{info_name}".format(info_name=name))
elifname=="dashixong"and"hyf"inname:
print("{info_name} is not here...".format(info_name=name))
eliflen(name)==3:
print("{info_name} is not here...".format(info_name=name))
else:
pass
for
1
2
3
names=['dashixiong','dsx','zhenshuai']
fornameinnames:
print(name)
1
2
3
4
sum=0
forxinrange(101):
sum=sum+x
print(sum)
range()是一个数量生成的方法,可以生成一个整数序列,生成一个list
while
1
2
3
4
5
6
# while 条件:
# 循环体
# 如果条件为真,那么循环体则执行
# 如果条件为假,那么循环体不执行
whileTrue:
print(1)
上面的测试测序是一个死循环,条件一直为真,不停输出1。
while的条件判断也有多种判断的形式,只要while 的条件为真,这个循环就会一直持续下去。
当然也可以做判断:
1
2
3
4
x=0
whilex<3:
x+=1
print("run!!!")
当x<3时 输出run,当x>=3时 循环就停止了。
break和continue的理解:break是打校长,就不用上课了,continue是打老师,只不过当天不用上课,后面还得上课!
break 退出整个循环
continue退出当前循环
for、while和 if..elif...else结合使用的组合也是有很多的
在运用的过程中可以随意的组合,他们有严格的循环范围,循环作用于他们的下方一个TAB键