python入门学习
前言
想学学python,做些数据自动爬取,记录下第一个hello world。学习以python最新版python3的相关资料进行入手。
python是在1990 年初开发的一种解释型编程语言。
关于高级语言,一般包括编译型和解释型:
编译型:
一次编译,无限执行,如C、Go、汇编等语言,一般不能跨平台。
解释型:
一次编写,到处运行,如python、javascript、php、shell。
(除编译型和解释型语言外,还有一种半编译半解释型语言,比如 Java 和 C# 等,这类语言将源代码先转换成一种中间文件(字节码文件),然后再将中间文件拿到虚拟机中执行。)
Python 语言最大的特点就是简单,实现代码比较简短。
本地环境安装
1、首选安装本地的python环境
因为用的是mac,所以默认是有python2.7的环境了,这里进行安装pthon3版本。
通过brew进行安装,执行:brew install python
等待执行结束,查看版本,注意需要使用「python3」命令:
> python3 --version
Python 3.10.9
安装的还有pip3命令,用于安装python新模块。
也可以使用官方下载地址
2、修改环境变量
当前有两个python版本,如果希望命令行「python」使用的是python3的环境,可以配置如下:
命令行执行:vim ~/.bash_profile
进行追加内容:
# python3
alias python=/opt/homebrew/bin/python3
alias pip=/opt/homebrew/bin/pip3
export PATH=$PATH:/opt/homebrew/bin/
使配置生效执行:source ~/.bash_profile
使用「python」命令查看版本:
> python --version
Python 3.10.9
如果不知道配置路径,可以使用 which python3 查看;
或者使用brew info python(前提是使用brew安装的)
hello world
1、使用命令行:python,进入python环境:
>>> a = 1
>>> print(a)
1
定义变量a赋值1,输出变量a
2、使用python编辑器:PyCharm
微软的VsCode编辑器也是可以的
使用brew 安装PyCharm:brew install --cask PyCharm
安装完成后,进行破解
创建项目:
解释器选择可以参考
创建文件:
运行脚本:
基础语法与数据结构
基础语法
1、python是弱类型语言,定义变量时无需标明类型
str='123456789'
print(str)
2、使用缩进表示代码块,不用大括号
if True:
print ("Answer")
print ("True")
else:
print ("Answer")
print ("False") # 缩进不一致,会导致运行错误
3、一行写不下,用反斜杠 \ 实现多行语句
4、print内置输出函数,默认是换行的,如果要实现不换行需要在变量末尾加上 end=“”
x = "a"
y = "b"
# 不换行输出
print( x, end=" " )
print( y, end=" " )
数据结构
1、字符串
最常见的数据类型,使用’或"创建
var1 = 'hello'
var2 = 'world'
print(var1 + ' ' + var2) # 输出:hello world
# 字符串截取,[x:y],左闭右开原则
var1 = var1[0:2]
print(var1) # 输出:he
2、数字
包括整型、浮点、复数
number = 0xFF # 十六进制
print(number) # 255
number = 0o37 # 八进制
print(number) # 31
# 数字类型转换
x = 1.0
print(x) # 1.0
print(int(x)) # 1
3、列表
常见的数据类型,每个值都有对应的索引
list1 = ['a', 'b', 'c', 'd']
list2 = [1, 2, 3, 4]
print(list1[0]) # a
print(list1[2]) # c
# 列表截取,和字符串一样,使用[:]
list3 = list1[1:2]
print(list3) # ['b']
# 取列表最大值、最小值、长度等
print(len(list1)) # 4
print(min(list2)) # 1
4、元组
与列表类似,不同在于元组的元素不能修改
tup1 = ('a', 'b', 'c', 'd')
tup2 = 1, 2, 3, 4 # 可以省略小括号
print(tup1) # ('a', 'b', 'c', 'd')
print(type(tup2)) # <class 'tuple'>
print(tup2) # (1, 2, 3, 4)
# 只有一个元素时,需要后面加个逗号,否则会把括号当成运算符, 如tup1 = (10)
tup1 = (10,)
print(type(tup1)) # <class 'tuple'>
# 和元素一样,可以按[:]截取,也可以按索引访问
tup3 = tup2[2:3]
print(tup3) # (3,)
5、字典
key:value键值对;key唯一不可变;value可以任意类型
dict1 = {'key1': 'value1', 2: 2, 'key3': 'value3'}
print(dict1) # {'key1': 'value1', 2: 2, 'key3': 'value3'}
print(len(dict1)) # 3
# 访问字典里的值
print(dict1[2]) # 2
print(dict1['key1']) # value1
# 修改和删除
dict1[2] = 3
del dict1['key3']
print(dict1) # {'key1': 'value1', 2: 3}
# 键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行
# tinyDict = {['Name']: 'Run', 'Age': 7} # TypeError: unhashable type: 'list'
6、集合
无序、不重复的元素序列
创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
set1 = {'a', 'b', 'c'}
set2 = set((1, 2, 3))
print(set1) # {'c', 'a', 'b'}
print(set2) # {1, 2, 3}
# 判断元素是否在集合中
flag = 'a' in set1
print(flag) # True
总结
python入门,语言是相同的,一些语法、数据结构和使用会不太一样,后续多实践,边用边学