python编程基础

python基础知识

1. python数据类型

  • 整数
  • 浮点
  • 数字
  • 符串
  • 布尔值
  • 列表
  • 元组
  • 字典
  • 集合

1.1 整数
例如:1 ,100,-8080,0等等
计算机由于使用二进制,所以有时候使用十六进制表示整数比较方便,十六进制用 0x前缀和0-9,a-f表示,列如:0xff00,0xa5b4c3d2,等等。

1.2 浮点数
如1.23,3.14, -9.01等等

1.3 字符串
字符串是以‘’或“”括起来的任意文本,比如‘abc’,"xyz"等等

1.4 布尔值
布尔值和布尔代数的表示完全一致,一个布尔值只有ture,false两种值,要么是Ture,要么是False,在Python中,可以直接用Ture,False表示布尔值(请注意大小写),也可以通过布尔运算计算出来布尔操作 and、or、 not

例子
Ture*12=12
0 and 1 = 0
0 or 2 = 2
12 < 13 ture

1.5 列表(list)
python内置的一种数据类型是列表:list
list是一种有序的集合,可以随时添加和删除其中的元素。比如,列出班里所有同学的名字,就可以用一个list表示:

例子
>>>classmates=['michael','bob','tracy']
>>>classmates
['micheal','bob',tracy]

1.6 字典
字典是一种映射型的数据类型,每个元素成对出现,既key-value,每对元素key和value”:“ 冒号分开,元素之间用逗号隔开,整个字典包括子在{}中。
字典中的”key“必须是不可变类型,”value“则可以是任意类型,如果出现一个”key“被多个”value“赋值,那么值为最后一个被赋的值,字典是可变数据类型,并且是无序的。所有不可变的数据类型都可以作为字典中的key,例如数字,字符串,元祖。字典的基本操作包括创建,增加,删除,修改,查找,遍历,更新,in or not in 等。

例子
#用fromkeys创建一个字典>>>dic=["name","age","sex"]
>>>dict=dict.fromkeys(dic)#以序列dic中元素做字典的键,value为字典所有键对应的初始值>>>dic
['name','age','sex']#value对应值为None,不显示
>>>dict=dict.fromkeys(dic,"123")#设置默认值value为”123“ 这里是每个key对应的value都是123
>>>dict
{'name':'123','age':'123','sex':'123'}

在这里插入图片描述
1.7 集合
集合是一个无序,不重复,每个元素必须是不可变类型的数据组合,主要作用有去重和关系运算。
a=b | c #求集合,union等同|
a=b & c#求交集,intersection等同&
a=b-c #求差集 ,difference等同-
a=b^c #求对称差集symmetric_difference(求对称差集)

2. python输入输出

2.1 python输入

raw_input()输入
>>>userName=raw_input('输入登录名:')
>输入登陆名:张三
>>>print'你的登陆名为',userName
你的登陆名为张三 # 自动加空格

#raw_input():从用户那里得到数据输入:
>>>mynumber=raw_input('输入一个数字:')
输入一个数字:1024
>>>print‘你输入数字的两倍是:%d’  %(int(myNumber)*2)  #int()字符串转换为整型
你输入数字的两倍是:2048

2.2 python输出

>>>-print ”hello world!“    #>>>python shell 提示符
hello world!

>>>abs(-4)                       #abs():内建函数,取绝对值
4

>>>myString = hello world!" #单引号、双引号成对使用
>>>print mystring
hello world!

>>>mysrring
'hello world!'  #显示结果带引号

>>>_  #下划线含义:表示最后一个表达式‘hello  world’

3. python注释

单行注释 #

如:#定义一个函数,用来输出Hello,Mary字符串
def sayhello():print('hello','mary',sep=',',end='\n',flush=ture)

多行注释
使用三个单引号 ‘’‘内容’‘’ 也可以使用三个双引号 ”“”内容“”“

‘’‘首先使用某函数,
然后输出
Hello,Mary\t
'''

在这里插入图片描述

4. python操作符

  • 成员关系操作符
  • 算术运算符
  • 比较(即关系)运算符
  • 赋值运算符
  • 逻辑运算符
  • 其他运算符:位运算符,会员操作符,标识操作符

4.1 成员关系操作符
in
not in
python 成员关系操作符有in和not in,它们用来判断某个元素是否在某个容器里(字符串,集合,字典,列表,元组),如果在返回True,如果不在,返回False

4.2 算数操作符


符号              含义

+                加法
-                减法
*                乘法
/               /(与数学中除法一致) 或 //(地板除,只取结果的整数部分,并且是向下取整,即若结果为4.5取4,若结果为-4.5则取-5)
%                求余
**               幂运算
//               除法(地板除)

4.3 比较操作符


符号              含义

<                小于
<=               小于等于
>                大于
>=               大于等于
==               测试相等
!=    或 <>(a != b 或 a <> b)      测试不等

4.4 赋值运算符

简单赋值 =
加法赋值 += (例:i += 1 等价于 i = i + 1,以下各种赋值均类似于加法赋值)
减法赋值 -=
乘法赋值 *=
除法赋值 /=
取整除赋值 //=
取余赋值 %=
幂赋值 **=

4.5 逻辑操作符

符号              含义

and              逻辑与
or               逻辑或
not              逻辑非

4.6 格式操作符%

格式化符号

符号              含义


%c               格式化字符及其ASCII码
%s               格式化字符串
%d               格式化整数
%o               格式化无符号八进制数
%x               格式化无符号十六进制数
%X               格式化无符号十六进制数(大写)
%f               格式化浮点数,可指定小数点后的精度
%e               用科学计数法格式化浮点数
%E               作用同%e
%g               根据数值的大小决定使用%f或%e
%G               作用同%g

格式化操作符辅助指令

符号              含义

m.n              m是显示的最小总宽度,n是小数点后的位数
-                结果左对齐(默认右对齐)
+                在正数前面显示加号
#                在八进制数前面显示'0o',在十六进制前面显示'0x64'或'0X64'
0                显示的数字前面填充'0'代替空格


4.7 转义字符

符号              含义

\'               单引号
\"               双引号
\a               发出系统响铃声
\b               退格符
\n               换行符
\t               横向制表符TAB
\v               纵向制表符
\r               回车符
\f               换页符
\o               八进制数代表的字符
\x               十六进制数代表的字符
\0               表示一个空字符
\\               反斜杠

4.8 位运算符


位运算过程中,把数字转化成二进制计算,然后再转化成数字。

按位与 & :参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0。
按位或 | :参与运算的两个值, 只要有一个位置为1,则该位的结果为1。
按位异或 ^ :参与运算的两个值,如果两个相应位数值不同,则结果为1,若相同,则结果为0.
按位取反 ~ :对数据的每个二进制位取反,即把1变为0,把0变为1 。
左移位 << :若 a << 2 将数字a对应的二进制数集体向左移动2位,后面空余的2位补零。例:原a二进制:0011 1100, a << 2 ,得 1111 0000,加黑为补零位。
右移位 >> :若 a >> 3 将数字a对应的二进制数集体向右移动2位,前面空余的2位补零。例:原a二进制:0011 1100, a >> 2 ,得 0000 1111,加黑为补零位。

4.9 身份运算符

用于比较两个对象 A 和 B 的存储单元是否一致,即判断两个标识符 A 和 B 是不是引用自一个对象。

1.is : x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False。        # id() 函数用于获取对象内存地址。
2.is not : x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。 # id() 函数用于获取对象内存地址。

5. python基础语句

5.1 循环语句

for…in循环

s1=[12,32,43,54]
for x in s1:
print x

while循环
while循环,只要条件满足,就不断循环,条件不满足时退出循环
例子:计算100以内的奇数之和

sum=0
n=99
while n <0:
	sum=sum + n
	n=n-2
print sum

中断循环
continue #在循环的某一次执行中,如果遇到continue,那么跳过这一次执行,进行下一次的操作
break #停止整个循环
当循环执行到i=2的时候,if条件成立,触发continue,跳过本次执行(不执行print),继续进行下一次执行(i=3)

for  i  in range(10):
	if  i==2:
		continue
	print

当循环执行到i=2的时候,if条件成立,触发break,整个循环停止

for  i  in range(10):
	if i ==2:
		break
	print i

5.2 条件语句
if结构,如果if判断是Ture则执行if代码块

age=20
if age >=18:
	print 'your age is',age
	print 'adult'

if…else结构,如果if判断是False不执行if代码块,而是执行else代码块

age =3
if age >=18:
	print 'your age is',ageprint 'adult'
else:
	print 'your age is',ageprint 
	'teenager'


if…elif…else结构,可以做更加细致的判断
if<条件判断1>:
<执行1>
elif<条件判断2>:
<执行2>
elif<条件判断3>:
<执行3>
else: <执行4>

6. python文件操作

6.1 读文件
要以读文件的模式打开一个文件对象,使用python内置的open()函数,传入文件名和表示符:>>>f = open(’/users/michael/test.txt’,‘r’)
r表示read,读取,这样我们就打开一个文件。
如果文件不存在,open()函数就会抛出一个IOError的错误,并且给出错误码和详细信息告诉你文件不存在。
f= open(‘c:\1.txt’,‘r’) #使用open方法打开文件,参数r为读
#windows下写法是\,单斜杠无法打开,会报错
print f.read() #读取文件内容
f.close() #关闭文件

6.2 写文件

写文件和读文件是一样的,唯一区别是调用open()函数时,传入标识符’w‘或者’wb‘表示写文本文件或写二进制文件内。
#使用w参数,进行文件写入,会覆盖掉文本中的所有内容

覆盖写入

>>>f=open('/user/michael/test.txt','w')
>>>f.write('hello,world!')
>>>>f.close

追加写入

#使用append方法向文件末尾追加内容
f =opem('c:\\1.txt','a')
f.write('\n'+‘append追加内容’)  #'\n'是换行,追加到下一行
f.close()

6.3 重命名

例子:使用os.rename(file_name)重命名一个已经存在的文件test.txt。

#!/usr/bin/python
# -*- coding:UTF-8 -*-
import os
#重命名文件test.txt到文件test2.txt。
os.rename("test1.txt","test2.txt")

6.4 删除文件

列子:使用os.remove(file_name)删除一个已经存在的文件test2.txt。

#!/usr/bin/python
# -*- coding:UTF-8 -*-
import os
#删除一个已经存在的文件test2.txt
os.remove(”test2.txt“)

7. python异常处理

常见报错参考连接:https://www.cnblogs.com/zhangshan33/p/11136510.html

try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理。如果你不想在异常发生时结束你的程序,只需要在try里捕获它

try:<语句> #运行别的代码
except<名字>:
<语句> #如果在try部分引发了’name‘异常
except<名字>,<数据>:
<语句> #如果引发了’name‘异常,获得附加的数据
else:
<语句> #如果没有异常发生

8. python函数简介

8.1 自定义函数
你可以定义一个由自己想要功能的函数,以下是简单的规则:
函数代码块以def关键词开头,后接函数标识符名称和园括号()。
任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
函数的第一行语句可以选择性地使用文档字符串——用于存放函数说明。函数内容以冒号起始,并且缩进。(四个空格等于一个缩进)
return[表达式]结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回None。

#自定义函数
def functionname(parameters):
“函数_文档字符串”
function_suite
return [expression]
实例:以下为一个简单的python函数,它将一个字符串作为传入参数,再打印到标准设备上。def printme(str):
“打印传入的字符串到标准显示设备上”
print str
return

8.2 函数调用
定义一个函数只给了函数一个名称,指定可函数包含的参数,和代码块结构。
这个函数的基本结构完成以后,你可以通过另一个函数调用执行,也可以直接从python提示符执行。如下实例调用了printme()函数:

#!/usr/bin/python
# -*- coding:UTF-8 -*-
#定义函数
def printme(str):
	print str;
	return;

#函数调用
printme("我要调用用户自定义函数!");
printme("再次调用同一个函数");

输出结果:我要调用用户自定义函数
再次调用同一函数

9. python类

在python中,可以通过class关键字定义自己的类,然后通过自定义的类对象创建实例对象。
例如,下面创建了一个Student类,并且实现了这个类的初始化函数”init“:

class Student(object):
	count=0
	books=[]
	def __init__(self,name,age):
		self.name=name
		self.age=age
	pass

在上面的Stdent类中,”count“ ”book“ ”name“ 和”age“都被称为类的数据属性,但是它们又分为类数据数据属性和实例数据属性

10. python模块调用

简介
python模块,是一个python文件,以.py结尾,包含了python对象定义和python语句。模块让你能够有逻辑地组织你的python代码段。
把相关的代码分配到一个模块里让你的代码更好用,更易懂。
模块能定义函数,类和变量,模块里也能包含可执行的代码
例子
下列是简单的模块support.py:
def print_func(par):
print “hello :”,par
return

模块引入
模块定义好后,我们可以使用import语句来引入模块,语法如下:
import module1[,module2[,…moduleN]
比如要引用模块math,就可以在文件最开始的地方用import math 来引用。在调用math模块中的函数时,必须这样引用:
模块名.函数名
当解释器遇到import语句,如果模块在当前的搜素路径就会被导入。
搜素路径是一个解释器会先进行搜素的所有目录的列表。如果想要导入模块support.py。需要把命令放在脚本的顶端。
例子

#!/usr/bin/python
# -*- coding:UTF-8 -*-
#导入模块
import support
#现在可以调用模块里包含的函数了
support.print_func("Runoob")
以上实例输出结果:hello :Runoob

一个模块只会被导入一次,不管你执行了多少次import。这样可以防止导入模块被一遍又一遍的执行

#模块课可以包含可执行代码、函数和类

>>>import sys #导入方法,sys为模块名称
>>>>sys.stdout.write('hello world!')
>>>>sys.platform  #'win32'
>>>>sys.version   #'2.65(r256:79096.....'

参考连接
https://www.cnblogs.com/Keys819/p/9348415.html
https://www.jianshu.com/p/46e19a3fe4a0
https://www.cnblogs.com/zhangshan33/p/11136510.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值