Python学习基础1-基础介绍
# coding: utf-8
# In[2]:
#python注释方法"#"'''python多行注释三引号'''
# In[ ]:
#python中标识符命名规则为:第一个字符为字母或下划线,除第一个字符以为的其他字符可以是字母、下划线或数字
#python中,常见的数据类型有:数、字符串、列表(list)、元组(tuple)、集合(set)、字典(dictionary)
# In[3]:
#列表(list)
abc=['my','you']
abc[1]='he'
print(abc[0],abc[1][1])
# In[4]:
#元组(tuple) 一旦初始化就不能修改
cde=('my','you')
print(cde[0])
cde[1]='he'
# In[7]:
#集合(set)
a='sdhjdsfhjkdsf'
b='fihrghsad'
sa=set(a)
sb=set(b)
print(sa&sb)
print(sa|sb)
# In[8]:
#字典(dictionary) {key1:value1,key2:value}
d1={'name':'weiwei','sex':'man'}
print(d1['name'],d1['sex'])
# In[9]:
#运算符‘+’,‘-’,‘*’,‘/’,‘%’,‘//’
print(26//4,26/4,26%4)
# In[27]:
#python中有3种基本控制流:顺序结构、条件分支结构、循环结构
#条件分支结构 if elif else
a=6
if a==5:
print(a)
elif a<10:
print('小于10不等于5的数')
else:
print('大于10的数')
# In[28]:
#while 循环
a=6
while a>2:
print(a)
a=a-1
# In[29]:
#for 循环
a=['a','b','c','d','e']
b=0
for i in a:
b=b+1
print(b,i)
a=['a','b','c','d','e']
for i in range(0,10):
print(i)
# In[69]:
#continue只中断一次
for i in range(0,8):
if(i==6):
continue
print(i)
#break彻底中断
for i in range(0,8):
if(i==6):
break
print(i)
# In[105]:
#训练实例:输出乘法口诀
for i in range(1,10):
for j in range(1,i+1):
print(str(i)+'*'+str(j)+'='+str(i*j)+' ',end='')
#str类型用‘+’合在一起
print()
# In[103]:
#训练实例:反向输出乘法口诀,range(a,b,c)从a开始遍历至b+!,步长为c,步长为负,即为逆序遍历。
for i in range(9,0,-1):
for j in range(i,0,-1):
print(str(i)+'*'+str(j)+'='+str(i*j)+' ',end='')
print()
# In[ ]:
#认识python函数
#函数的本质就是功能的封装。使用函数可以大大提高编程的效率与程序的可读性。
# In[135]:
#变量是有生效范围的,这个生效范围我们成为作用域。作用域从变量出现开始到程序的最末的变量叫全局变量,作用域只在局部的变量叫做局部变量。
#作用域
#my全局变量,ny局部变量,将局部变量ky使用global,调用函数后变为全局变量
my=1
def func():
global ky
ny=2
ky=3
ky+=1
print(ky,ny)
func()
print(ky)
print(my)
print(ny)
# In[136]:
#函数的定义和调用
def abc():
print('abc!')
abc()
# In[137]:
#在函数中,如果需要让函数与外界有数据的传递,我们则需要使用参数。
#参数分为形参和实参,一般来说,在函数定义时使用的参数是形参,在函数调用时使用的参数叫做实参。
def function1(a,b):#形参
if(a>b):
print(a)
else:
print(b)
function1(2,3)#实参
# In[ ]:
#什么是python模块
#我们可以按需求类别常见的功能(函数)组合在一起,形成模块。以后我们要实现这一类功能的时候,直接导入该模块即可。模块里面的函数叫做模块的方法。
#系统自带的模块在安装目录的lib目录中。
# In[153]:
#import 模块
#import urllib
from urllib import request #从某一文件夹找到下一目录中模块,import了谁,就从谁开始写
data1=request.urlopen("http://www.baidu.com").read() #爬虫
print(len(data1))
data2=request.urlopen("http://m.baidu.com").read()
print(len(data2))
# In[162]:
#自定义模块的使用,模块放到相应代码文件目录下
from zdymdtest import *
print(zhmd())
# In[184]:
#文件操作
#open("打开文件名称","打开方式"),'w'有文件即打开,没文件自动创建再打开
fh=open('/Users/zanghong/Documents/腾讯工作/原始数据/1.txt','w')
contents1='我是上半年数据'
fh.write(contents1)
fh.close()
#open("打开文件名称","打开方式"),'r'有文件即打开,没文件报错
fh1=open('/Users/zanghong/Documents/腾讯工作/原始数据/2.txt','r')
print(fh1.read())
fh.close()
#按行读取
fh2=open('/Users/zanghong/Documents/原始数据/2.txt','r')
while True:
data=fh2.readline()
if len(data)==0:
break
print(data)
fh2.close()
# In[185]:
#爬虫过程中异常数据处理
try:
print('my')
printsds('hi')
except Exception as er:#查找到异常
print(er)
print('hello')