欢迎光临
感谢一路有你

Python | 从零学习python

如果你对该文章中的内容有疑问/不解,可以点击此处链接提问
要注明问题和此文章链接地址 点击此处跳转
 
mac下载/安装环境
	https://www.python.org/downloads/release/python-372/
	测试是否安装(命令行)
		python3   //mac自带python2
	出现尖括号>>> 可输入python代码

代码工具pycharm

dmeo(hrllo.py)
	print("hello py");
	右键点击 run 'hello'

数据类型
	1.数字
		整数
		浮点数
	2.字符串
	3.列表
	4.元组
	5.集合
	6.字典

声名变令
	aaa = 1 声明变量
	print(aaa) //输出
	print(type(aaa)) //类型

bool 
	True False
运算符
	算数运算符
		+-*/
		取模%
		幂**
		取整除//
	赋值运算符
		加等于+=
		减等于-=
		乘等于*=
		除等于/=
		模等于%=
		幂等于**=
		取整除等于//=
	进制运算
		十转二 bin(16)
		十转八 oct(16) 
		十转十六 hex(16)

		二转十 int('10',2)
		八转十 int('10',8)
		十六转十 int('10',16)
	位运算
		按位与运算  &
		按位或运算  |
		按位异或运算  ^
		按位取反运算  ~
		左移运算符 <<
		右移运算符 >>

	比较运算符

	成员运算符 
		in     not in

	逻辑运算符




条件控制
	if_see = True
	if if_see:
		print("111")
	else:
		print("222")
----------
	aa = input("请输入数字")
	if aa==11:
		print("11")
	elif aa==22:
		print("22")
	else:
		print("99")

强制转化
int('11')
str(11)
float()

声明字符串
	单引/双引/三引

字符串操作
		ss = 'hello'
		print(ss[0])
	访问字符串中的切片
		print(ss[0:6])  //左闭右开

	包含运算 in
		print(s2 in s1)

	不包含运算 not in

	转义字符  \

	原始字符串输出
		print(r"hello\npy")
		print(R"hello\npy")

	格式化输出
		print("我叫%s,今年%d岁了" %('小米',10))

	查找字符串 find
		s = "Hello py".find("h")
	转换为小写
		print("Hello py".lower())
	转换为大写
		print("Hello py".upper())
	返回字符串长度 
		print("Hello py".__len__())
	判断字符串是否只包含空格
		print("a ".isspace())
	字符串替换
		print("Hello pt".replace('t','y'))

查看python自带的文档
	python3 -m pydoc -p 8888

	loclahost:8888



list 列表  一组数据
	有序
	list1 = [] 
	访问列表
		list1[0]
		list1[2:]
	列表添加
		1. list1.append('aa')
		2. list1 = list1+['bb','cc']
	列表删除
		del list1[0]

	嵌套列表
		[[],[]]

	列表元素个数
		len(list1)

	移除列表中的元素,并返回删除的值
		list1.pop(1)
		list1.remove('a')
	对列表中元素进行排序
		list1.sort()

	查找列表中第一个匹配的元素的索引值
		list1.index('a')

元组 tuple
	t=(1,2,4)
	与list的区别
		不能修改,只能访问

集合 {}
	无序,不重复  (有去重功能)
		a = set('abcd')
		b = set('bcde')
		print(a & b)
		print(a | b)
		print(a ^ b)
	添加元素
		my = set(('aa','bb','cc'))
		my.add('dd')
	移除指定元素
		my.remove("bb")
	随机移除
		my.pop()
	计算个数
		len(my)
	清空集合
		my.clear()
	in
字典
	一种可变容器类型  可储存任何对象
			key : value
		d = {'aa':'111','22':'bb'}
		d.keys()
		d['aa']
	增加
	更新
	删除 del(d['aa']
	in


ASCII转数字   ord('a')
数字转ASCII   chr(66)

一行太长要在末尾加上\

真假值判断
	and
	or
	not 
查看地址 
	id(aa)


循环
	i=1
	while i < 100:
		print ("aa")
		i++ 

	for i in range(11):
		print ("aa")
		i++ 


break
	直接跳出循环

continue
	本次循环结束,执行下次循环

冒泡排序
	nums = [3,1,25,10,15,6,8]
	for i in range(len(nums)-1):
		for j in range(len(nums)-i-1):
			if nums[j]>nums[j+1]:
				nums[j],nums[j+1] = nums[j+1],nums[j]
			print("第"+str(j)+"次内循环"+str(nums))
		print("第"+str(j)+"次外循环"+str(nums))
	print("最后的结果:"+str(nums))

工程结构
	包>模块>类>方法/变量

	包/模块命名
		小写字母+下划线
	类
		驼峰命名,首字母大写  私有类下划线开头

	函数/变量命名
		小写字母+下划线  私有下划线开头

	常量
		大写字母 下划线  私有下划线开头

	特殊模块 __init__.py
		包含了__init__.py才能称为包

	导包路径
		from .my_pack import init_test

		import part3.my_package.init_test as p

函数
	def my_function():

	函数的参数
		def my_function(p1,p2):
	关键字参数
		my_function(p1='11',p2='22'):
	默认参数
		def my_function(p1='11',p2):

递归
	5的阶乘
		def f(x):
			if s==1:
				return 1
			print("计算"+str(x)+"*"+str(x-1))
			return x * f(x-1)
		print(f(5))

	递归查找


特殊函数
	__name__
		只有在本模块启动时,__name__变量等于__main__
		使用:
			1.可以作为这个模块的入口,在其他语言中也叫作main函数
			2.也可以作为调试使用,原因:在其他模块调用本模块时,__name__=="main" 判断结果为false,所以不会执行

变量作用域



正则表达式
	demo
		import re
		reg_string = "vdfvfdvfd"
		reg = "dddd"
		result = re.findall(reg,reg_string)

		//search()的工作方式和match()完全一样,不同之处在于search()会用它的字符串参数,
		//在任意位置对给定的正则表达式模式搜索第一次出现的匹配情况。
		//如果匹配成功,就会返回一个匹配对象。
		result = re.search(reg,reg_string)
		result = re.search(reg,reg_string).group(0)

		//match只匹配开头,有就返回,没有就报错
		result = re.match(reg,reg_string).group(0)
										re.I  不区分大小写
		result = re.match(reg,reg_string,re.I).group(0)


		参考:
			https://blog.csdn.net/qq_39521554/article/details/79462405


	贪婪---尽可能多的匹配

	非贪婪---尽可能少的匹配 
		
		* 重复零次或更多次 ?
		+重复一次或更多次  ?
		?重复零次或一次   ?


Xpath
	/	从根节点进行选择元素
	//	从匹配的当前节点来对文档中的节点进行选择
	.	选取当前节点
	..	选取当前节点的父节点
	@	选择属性



	
	
	通配符
		* 		匹配任何元素节点
		@* 		匹配任何属性节点
		|       和

	demo
		body/div   选取属于body的子元素中的所有div元素
		//div  		选取所有div标签的子元素,而不管它们在HTML文档中的位置
		@lang 		选取名称为lang的所有属性	
		//* 		 选取文档中所有元素
		//title[@*]  选取所有带属性的title元素
		//body/div | //body/li  选取body元素的所有div元素和li元素
		//div | //li   	选取文档中所有的div 和li

 

赞(0) 打赏
未经允许不得转载:王明昌博客 » Python | 从零学习python
分享到: 更多 (0)

相关推荐

  • 暂无文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

×
订阅图标按钮