栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python快速入门笔记

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python快速入门笔记

文章目录
    • python快速入门
      • 开发环境配置
      • 语法基础
        • 新手问题
        • 输入和输出
        • 字符串和变量
            • 赋值
            • 常见字符串处理
          • 布尔表达式
          • 条件语句
          • 循环语句
          • 列表
          • 元组
          • 集合
          • 字典
          • 函数
          • 模块
          • 文件
          • 异常处理
          • 类和对象
          • 多线程
          • 可视化gui界面

python快速入门 开发环境配置

python的安装只需要去官网进行下载最新版本,成熟的语言的主要语法是不会随着版本的更新发生很大的变化,所以版本的选择实际上问题不大

推荐使用anaconda3进行版本控制,使用的最大的方便就是很好的控制每一个python的版本和需要的库,在开发的过程中,往常都是开发的时候需要用到什么样的库文件再进行安装和配置,不同的开发需要的库文件环境不相同,后期的项目打包的时候,不需要打包没有用到的库,提高打包的效率

  • anaconda附带了一大批常用的数据科学包不需要进行下载
  • 自带的conda管理包和环境能减少处理数据的过程中遇到各种库和版本的问题

下载环境配置
官网下载链接
在系统高级设置的用户环境变量配置环境变量

基本使用方法
环境配置完成之后可以在可以直接在cmd窗口使用conda 命令

#设置清华镜像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
#设置bioconda
conda config --add channels bioconda
conda config --add channels conda-forge
#设置搜索时显示通道地址
conda config --set show_channel_urls yes


#查看虚拟环境
conda env list
#激活虚拟环境
conda activate 虚拟环境的名字
#退出虚拟环境
conda deactivate
#创建虚拟环境
conda install -n 虚拟环境名字 python=版本号
#删除虚拟环境
conda remove 虚拟环境名字
#查看已经安装了的包
conda list 
#获得环境中的所有配置
conda env export --name myenv > myenv.yml
#重新还原环境
conda env create -f  myenv.yml
语法基础 新手问题
  1. 标点符号是否全是英文符号
  2. 缩进是否正确
  3. 函数拼写是否正确
输入和输出
#输入
a=input("请输入:")
#输出
print(a)
#换行
print("n")
字符串和变量

在cmd窗口输入 jupyter notebook就可以进入交互界面,相当于是自带的shell,不过相较于它,notebook的界面更加美观以及功能也更加全面

赋值
#变量不用声明,可以直接赋值使用
#命名规则,关键字除外,使用字母,下划线 ,数字组成,但是不能用数字开头,命名规范化
a=1
b='ct'
#字符串的赋值可以使用单引号或者是双引号,但是当字符串里面有单引号的时候,外面就要用双引号,反之里面是双引号外面就要是单引号
常见字符串处理
#在写爬虫的时候通常用这个方法处理正则表达式,在代码里面使用不了的,一般来说代码
#里面的/要在前面加上反斜杠进行转义或者是,在字符串前加上 r,当前的字符串的 转义字符就会失效
#windows的路径是用反斜杠分割的,在python里面,会把反斜杠当成是转义,会造成冲突
url = "https://translate.google.cn/?sl=auto&" 
      "tl=zh-CN&text=hello&op=translate"
headers = {'user-agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0"}
html = requests.get(url, headers=headers)
result = re.match(r"^(.*?)", html)
print(result)
print(r'ctn')

#字符串之间可以通过加号合并,也可以通过乘号进行操作,不能-/*

常见的字符串的处理函数

a="https://www.baidu.com"
#find() 在一个较长的字符串中查找子串,返回的是子串坐在位置的最左端的索引,如果没找到的话就返回-1.
print(a.find("t")
#replace() 将字符串内匹配到的旧的字符替换成后面的新的字符串
print(a.replace("h","wa"))
#split() 通过指定的切割符对字符串进行切片,如果参数num有值的话,表示分割成num个字符
print(a.split("w"))
#  format() 很方便的字符串拼接函数,很常用,在字符串里面加入大括号{},在引号结束之后使用,方法里面的参数对字符串里面的括号进行替换
b="aaa"
c="t{},h{}".format(b,"cc")
布尔表达式
#bool()函数可以评估任意值,返回的结果是Ture或者False,空值如([],{}'',"")
#和值为0或者是None的结果都是False,其他的都是True,和循环,条件语句配合使用
#运算符有  and or字面意思,

学校的离散作业用这个来做,很方便

条件语句

跟c语言的条件语句判断大体上是一样的,只是要注意格式的正确性。

#缩进是四个空格,直接敲tab键就行了
a=1
if a:
	print("hello")
else:
	pass
循环语句

for循环

#可以是一个数字循环,只有一个数字,默认是从零开始到这个数字的前一位,不包括该数字
for i in range(10):
	print(i)
#可以是range()多个参数,起点,终点,步长
for i in range(1,10,3)
#可以是一个列表
for i in ["小明","小红","小。"]:
	print(i)
#也可以是一个字符串
for i in "range":
	print(i)

while循环
continue,pass和break使用

a=10
while a<20:
    a=a+1
	if a%2==0:
		continue
	elif a==15:
		pass
	else:
		print('1')
	
列表

用来存储不同的数据类型,用小括号括起来,字符串要加引号,数字不用加

service=[3,'ht','ssh']
print(service[1])    ##输出第二个元素
print(service[-1])   ##输出最后一个元素

#切片
print(service[1:])   ##打印第一个元素之后的内容
print(service[:-1])  ##打印最后一个元素之前的内容
print(service[::-1])  ##倒序输出


#列表操作函数
service.pop()   ##弹出最后一个元素
a = service.pop(0)  ##弹出第1个元素  ###可以将其赋值

service.remove('ssh') ##指定删除对象的名字  ##直接删除,不能将其赋值   ##不能指定序号,只能指定要删除对象的

del service  ##删除列表

del service   ##直接删除整个列表
print(service)


names = ['alice','Bob','coco','Harry']
names.sort()
names      ###按照ASCLL排序   ###先排序首字母为大写的,再排序首字母是小写的

names.sort(key=str.lower)   ###对字符串排序不区分大小写,相当于将所有元素转换为小写,再排序
names.sort(key=str.upper)   ###相当于将所有元素转换为大写,再排序
元组

元组一旦被创建,它的元素就不可更改,所以元组是不可变的列表,标志是用小括号()包起来

集合

使用大括号括起来,与列表等不同,不能使用下标访问到里面的元素,可以使用循环用便利得到元素,集合里面的元素是不能重复的,可以对一个列表使用set()方法转换成为集合,间接实现了去重操作

字典

字典是可变容器模型,可以存储任意对象,采用键值对的方式存储,中间使用冒号隔开,每一对键值对之间使用逗号,分割,整个字典使用大括号{}括起来

#字典格式
dict={"name":"小明","age":12,"like":['ball','book']}
#字典访问
print(dict["name"])
print(dict["like"][0])
  1. 利用这个可以解决一个很水的离散数学的大作业
  2. 全局变量通过字典存储在两个文件里面获取使用
函数

函数里面要注意局部变量和全局变量

def 函数名(参数):
	pass
模块
#使用import 导入写好的文件
# from 模块名 import 方法/类/*
文件

使用内置的open函数进行读取操作
读取完之后要使用close()关闭文件

#mode表示打开方式,w就是写入,r表示读取,r+即可以读取又可以写入,返回值是一个文件对象
f = open("文件路径","mode")
f.write("文本")
f.flush()   #将内存内容立即写入硬盘
f.close()

# 常用
with open(filename, 'wb') as f:   #以二进制形式打开文件
	f.write("图片资源") 
异常处理

try的工作原理是,当开始一个try语句后,python就在当前程序的上下文中作标记,这样当异常出现时就可以回到这里,try子句先执行,接下来会发生什么依赖于执行时是否出现异常。

  • 如果当try后的语句执行时发生异常,python就跳回到try并执行第一个匹配该异常的except子句,异常处理完毕,控制流就通过整个try语句(除非在处理异常时又引发新的异常)。
  • 如果在try后的语句里发生了异常,却没有匹配的except子句,异常将被递交到上层的try,或者到程序的最上层(这样将结束程序,并打印默认的出错信息)。
  • 如果在try子句执行时没有发生异常,python将执行else语句后的语句(如果有else的话),然后控制流通过整个try语句。
try:
<语句>        #运行别的代码
except <名字>:
<语句>        #如果在try部份引发了'name'异常
except <名字>,<数据>:
<语句>        #如果引发了'name'异常,获得附加的数据
else:
<语句>        #如果没有异常发生



#try-finally 语句无论是否发生异常都将执行最后的代码。
try:
<语句>
finally:
<语句>    #退出try时总会执行

类和对象
#基本格式
class Persion:
	name="小明"
	age=12
	def fun(self):
		print(age)
		
p=Persion()
print(p.name)


#每一次创建对象的时候,都会自动调用__init__()方法,类似于java的构造方法
class Person:
  def __init__(self, name, age):
    self.name = name
    self.age = age

p1 = Person("Bill", 63)

print(p1.name)
print(p1.age)
多线程
import threading
import time

def run(n):
    print("task", n)
    time.sleep(1)
    print('2s')
    time.sleep(1)
    print('1s')
    time.sleep(1)
    print('0s')
    time.sleep(1)

if __name__ == '__main__':
    t1 = threading.Thread(target=run, args=("t1",))
    t2 = threading.Thread(target=run, args=("t2",))
    t1.start()
    t2.start()


#继承threading.Thread来自定义线程类,其本质是重构Thread类中的run方法

import threading
import time

class MyThread(threading.Thread):
    def __init__(self, n):
        super(MyThread, self).__init__()  # 重构run函数必须要写
        self.n = n

    def run(self):
        print("task", self.n)
        time.sleep(1)
        print('2s')
        time.sleep(1)
        print('1s')
        time.sleep(1)
        print('0s')
        time.sleep(1)

if __name__ == "__main__":
    t1 = MyThread("t1")
    t2 = MyThread("t2")
    t1.start()
    t2.start()

可视化gui界面

pyqt5库的gui编程,可以在可视化添加窗口组件,定义UI

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/994827.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号