中公IT优就业师资团队汇集100余位专职研发人员、300多位专职授课师资,精心研究、深入研发、实时更新,锻造出了优秀的各类IT技能面授课程和系列IT技术图书教材,科学、严谨、系统的知识理论体系,由优就业百余位专职研发师资自主研发而成,紧跟市场需求、企业刚需,每月调研、更新,不断打磨,力求传授给学员前沿、实用的IT知识...
python是一种简单易学且功能强大的编程语言,它具有口语化的变成方式,深受大家喜爱。随着人工智能的发展,python越来越受大家喜爱。在使用python编程的过程中我们总会遇到各种各样的问题,但是我们总会找到解决的方案的。例如下面的这个问题。以下是小编为你整理的python简单入门教程
#后面的是注释,不参与运行的。这段代码会被解释器跳过,方便程序员理解程序。
python时候区分大小写的,运行了上面的程序以后,name就是一个变量了,
我们输入name,程序会输出name的值,但是输入Name,因为Name没有定义,
所以报错了。
>>> name
'henry'
>>> Name
Traceback (most recent call last):
File "
Name
NameError: name 'Name' is not defined
>>>
选择什么版本首先下载安装python,建议安装2.7版本以上,3.0版本以下,由于3.0版本以上不向下兼容,体验较差。
打开文本编辑器,推荐editplus,notepad等,将文件保存成 .py格式,editplus和notepad支持识别python语法。
脚本第一行一定要写上 #!usr/bin/python
表示该脚本文件是可执行python脚本
如果您的python目录不在usr/bin目录下,则替换成当前python执行程序的目录
编写完脚本之后注意调试、可以直接用editplus调试。调试方法可自行百度。脚本写完之后,打开CMD命令行,前提是python 已经被加入到环境变量中,如果没有加入到环境变量,请百度
在CMD命令行中,输入 “python” + “空格”,即 ”python “;
将已经写好的脚本文件拖拽到当前光标位置,然后敲回车运行即可
类型的定义
python不像java那样强制声明类型,即是,在定义数据的时候,a=123,a='字符',这些都是可以的,不限制类型
即先a=123,再一次a='字符串',那么a就等于‘字符串’了(这在java是不行的)
注意:因为没有强制类型,所以变量名要取的有意义,防止赋值错类型
int不可以直接与字符串相加(java可以,默认会把int转为字符串)
比如a=123,b=‘字符串’
把a与b相加,那么就会出错
类型转换
虽然没有java那样其他类型与字符串相加,会默认把其他字符串转换为字符串
不过python的转字符串也很方便,str()
如:a=123,str(a),就是把a转为字符串
反过来也一样,str转int,就是int()
如:s=‘123’,int(s)
索引
比如,s='ABCDE'
那么,s[0],s[1]分别是A和B,方括号里面的是下标,从0开始
python的元素
缩进:由于跟其他编程语言的区别性,缩进在python编程中显得十分重要;在Python的代码块中必须使用相同数目的行首缩进空格数,否则会造成脚本运行错误,提示你格式不正确之类的信息。因此,在使用python语言写脚本的时候,保证缩进的一致性相当重要。
空行:虽然在python编程过程中,空行并不是Python语法的必需部分,但是,保持函数之间或类的方法之间用空行分隔,可以使得代码看起来更加清晰明了,也有利于后期的代码维护或重构。
注释:注释相对经常使用编程语言的人来说应该不是很陌生吧,主要因为注释不仅使得阅读代码的人容易理解,也让代码作者更好地定位代码函数等。python跟其它语言一样,注释在一些该注释的地方,可以让效率事半功倍。
源代码:python作为完全开源的语言,代码对于任何人都可以随意浏览。这种方式可以更好地帮助人们发现有利精简扼要的代码,在很多方面可以省去不必要的时间,因为觉得合适可以直接拿过来使用或者简单修改。经常看一下好的源代码,不仅会让你学习别人的编程方式,还在另一方面大大的帮助你更好地学习。
编程思想:使用任何一门编程语言,都需要保持很好的编程思想,对python来说也是一样的。学会创造使用适合自己的编程思想是至关重要的,因此,去多读一些讲解编程思想之类的书籍来充实自己吧。
多实践:学习任何一门编程语言都需要多做多写多看,通过不同的项目,来让自己得到更好的锻炼,相信是一件很棒的事情。在业余时间,经常的去敲写一些代码,也是很有意思的。Just do it!
算术最基本的操作符,是小学数学的+ - * / ,对于整数,还可以用+=,*=的操作符,对自身的值进行改变(对象引用)。以下是小编为你整理的python爬虫入门项目教程
对于整数的加减乘除,但需要注意的是,整数相除的结果是小数
PS:在一些其他语言,比如c语言,java,两个整数相除,如果产生小数,直接把小数给忽略掉,而Python刚刚相反,比如1/3,在其他语言的结果是0,在Python则是0.333333333......
如果需要把整数相除的商作为int类型整数结果,需要转化,int(小数值)
PS:直接把小数忽略掉,不会进行四舍五入的运算
列表的相加
2个列表相加之后,元素进行合并
需要注意的是,不能直接用运算符进行减法,乘法,除法运算
str类型相加(连接符)
数值相加的数学运算,字符串相加是连接
比如:'abc'+'def',结果是'abcdef'
需要注意的是,字符串只能用+号连接,不能用乘除减符号
+=,-=,*=,/=
需要注意的是,这种赋值不是改变原本的数据,而且进行运算之后产生一个新的数据,然后a重新指向新数据,原来的数据如果没有被任何标识符引用,那么会进入等待垃圾回收器清理
另外,这类操作符的左边是一个集合的时候,右边也需要是集合
有一个需要注意的是
字符串集合与字符串相加
比如,['abc']与'def'相加,不能用a = a + b,要用a += b
解析:直接相加,相当于用列表与字符串相加,如果用+=,会默认把后面的字符串转成列表
python的注释注释是什么?
我们写程序的时候,是否要标明程序的作用。例如函数、对象、方法的作用、源代码的作者等。
也就是说python解释器不解释的部分,用来我们开发时可以一目了然的功能标明,就是注释。
怎么注释呢?
这里分单行注释和多行注释。
什么是单行注释?
也就是说单行注释,标识符为#
什么是多行注释?
多行注释一般用于作者、版本标明。标识符为3个'''或者"""
当然你也可以用单行注释来实现多行注释。
例如:
#!/usr/bin/python
# 这是一个python程序
# 作者 binn louis zeng
# 版本:1.0
# 功能:1.xxxxxx
# 2.xxxxx
import sys
......
但是多行的情况是这样的:
#!/usr/bin/python
'''
这是一个python程序
作者 binn louis zeng
版本:1.0
功能:1.xxxxxx
2.xxxxx
'''
import sys
......
或者把'''替换成"""
跟着我做一遍你就完全能理解啦。
首先touch test.py
新建一个py文件。
vim打开它。
然后按a插入。
输入以下代码:
#!/usr/bin/python
#print 'test'
print 'test'
先来看看我们的代码
#!/usr/bin/python
这个是声明解释器路径
#print 'test'
这个是注释,不起作用的注释
print 'test'
这是一个打印test这个字符串的操作。
如果#注释生效的话,那么只会打印一个test对不对?
也就是只执行print 'test'这一条语句
我们:wq保存退出,然后python test.py看看结果?
二进制的实用方法
0b是二进制,比如a = 0b1001100110100110
注意:无论几进制,打印出来的都是十进制
0o表示八进制
注意:前面是数字0,后面是小写字母x
0x表示十六进制
注意:前面的是数字0,后面的是小写字母x,数值用大写字母,A~E
/与//
a/b,带小数的结果
a//b,忽略小数的结果
注意:带不带小数,它的结果都是小数
%取模(余数)
比如,10/3,正常结果的3.333333
如果需要小学算术那样,10/3,求余数
可以用10 % 3
divmod(x,y)
如果需要同时求商与余数,可以用这个函数,这个函数是返回一个元组的
abs(x)
获取某个数的绝对值,这个计算比较常用
Import语句 创建了自定义模块,就是为了用它,import就是用来导入我们写的模块的。现在自定义一个简单的模块函数myTest.py。然后创建另一个python文件testImport来导入myTest.py,测试可行性。
from...import 和from...import*语句:from语句是从模块中导入其中的一部分到命名空间(下面说)中,还以刚才的两个文件为例,from myTest import sayHi,就是把模块myTest中的sayHi函数导入到testImport函数中。
命名空间和作用域(即局部变量全局变量):一个Python表达式可以访问局部命名空间和全局命名空间里的变量。如果一个局部变量和一个全局变量重名,则局部变量会覆盖全局变量。python会假设任何函数内赋值的变量都是局部的,因此一个全局变量要想在局部变量里使用,需要用到global语句了,要么是在函数内再声明一下这个局部变量dir()函数:dir函数是一个已经排好序的列表,列表的内容是在模块里定义过的名字。列表容纳了模块里定义过的所有的模块,函数和变量,
globals()和locals()函数:两个函数分别用来返回全局和局部命名空间里的名字(返回类型是字典形式,因此可以用key()摘取)。