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

python学习之路

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

python学习之路

python学习之路
  • 基础语法
    • 标识符
    • 变量
    • 缩进
    • 注释
    • print标准输出函数
    • input标准化输入函数
    • 转义字符
  • 数据类型
    • 基础数据类型
    • 类型转换
    • python进制转换
    • 函数进行进制间转换
      • 二进制,八进制,十六进制转成十进制
      • 十进制转成二进制,八进制,十六进制
      • 八进制,十六进制转二进制
    • 字符串
      • 字符串创建
      • 字符串索引
      • 字符串运算
      • 字符串切片操作
      • 指定切片间隔
      • 字符串格式化
      • 字符串方法
      • 字符串类型转换
    • 列表(list)
      • 创建列表
      • 列表索引
      • 向列表中添加数据
      • 列表遍历
      • 删除列表中元素
      • 列表相关内置函数
      • 列表嵌套
      • 列表方法
    • 元组(tuple)
    • 字典(dict)
      • 创建字典
      • 新增字典键值对和修改value
      • 访问字典中的值
      • 删除字典里的键值对
      • 字典嵌套
      • 字典方法
    • 集合(set)
      • 创建集合
      • 集合添加删除元素
      • 集合常用操作
      • 集合方法
  • 程序控制
    • 条件控制
      • if语句
      • else
      • elsf
      • if嵌套
    • 循环控制
      • for循环
      • python 循环中的continue 与 break
      • while循环
  • 函数
    • 函数调用和定义
  • 数据存储
    • 文件读写

下层基础决定上层建筑,让我们一起学习python

基础语法 标识符

标识符定义规则:

  • 标识符由字母、数字、下划线组成
  • 第一个字符由字母和下划线组成,数字不能作为标识符的开头
  • 区分字母大小写
  • 不能使用保留字(保留字:python中自有的标识符)
  • 见名知意
变量
  • python中变量不能单独存在,变量不能只声明而不赋值,必须在声明变量的同时,进行赋值
  • python中,变量是没有类型的,虽然可以用type函数来查看类型,但本质上,变量的类型是由赋值给变量的数据来决定的
缩进

python中的代码所属关系用缩进来表示

注释
  • 单行注释:单行注释以 # 开头,根据规范,注释内容与# 间隔一个空格
a=10   # 10赋值给a
  • 多行注释:多行注释,可以用三个单引号,或者三个双引号括起来
a=10 
b=20
c=30
'''
   将10赋值给a
   将20赋值给b
   将30赋值给c
'''
"""
   将10赋值给a
   将20赋值给b
   将30赋值给c
"""
print标准输出函数

print可以输出任何你想输出的内容,一个整数,一个字符串,一个列表,只要是python的对象

print("输出字符串")# 输出字符串
print([1,2,3])# 输出列表
print(100)# 输出数字
input标准化输入函数
value = input("请输入一个整数:")
print(value, type(value))

input的返回值时字符串

转义字符

用转义字符表达特殊格式,例如/n代表换行,//代表/

数据类型 基础数据类型
  • 整型(int):整数,没有大小限制
  • 浮点型(float):整数部分和小数部分组成
  • 复数(complex):由实数部分和虚数部分构成,编程中几乎用不到
  • bool数据类型:只有两个值,分别是True和False
类型转换
a=33.3
a=int(a) # fioat类型数据转换成int类型数据
print(a)

输出结果
a=33
python进制转换

进制类型有10进制、2进制、8进制、16进制

print(0b1101010)   # 106         二进制用0b开头
print(0o125)       # 85          八进制用0o开头
print(0x3f2a1)     # 258721      十进制用0x开头  
函数进行进制间转换 二进制,八进制,十六进制转成十进制

使用int函数可以将二进制,八进制,十六进制的数值转成十进制数值,而且字符串的开头可以不携带进制的标识,如果你喜欢使用,也可以写成 int(‘0x3f2a1’, 16)

value = int('1101010', 2)
print(value)        # 106

value = int('125', 8)
print(value)        # 85

value = int('3f2a1', 16)
print(value)        # 258721
 
十进制转成二进制,八进制,十六进制

十进制转二进制使用bin()函数, 十进制转八进制使用oct()函数, 十进制转十六进制使用hex()函数

print(bin(106))     # 0b1101010 十进制转二进制
print(oct(85))      # 0o125     十进制转八进制
print(hex(258721))  # 0x3f2a1   十进制转十六进制
八进制,十六进制转二进制

并没有函数可以实现直接将八进制或十六进制数转成二进制,因此需要借用int()函数先将八进制的数转成十进制,然后使用bin()函数将十进制数转成二进制

print(bin(int('125', 8)))   # 八进制转二进制
print(bin(int('0x3f2a1', 16)))  # 十六进制转二进制
字符串 字符串创建

字符串创建用一对单引号或者一对双引号或者三对双引号,字符串的索引有正向和反向之分

字符串索引

字符串运算
操作符描述
+字符串连接
*字符串重复
[]通过索引访问指定的索引字符
:切片操作,截取字符串指定范围
in成员运算符-如果字符串中包含给定的字符返回Ture
not in成员运算符-如果字符串中不包含给定的字符返回Ture
%格式字符串
字符串切片操作

[start:end),左闭右开,索引为end的元素不会被截取

a = 'I like python'
print( a[2:6])		# 'like'       指定开始和结束位置
print( a[2: ])		#'like python' 	指定开始位置,不指定结束位置
print(a[ :-7])		#'I like'    指定结束位置,不指定开始位置

切片操作允许越界

a = 'I like python'
print(len(a))		#用len()函数获取字符串长度
print(a[2:19])		#'like python'      字符串允许越界
指定切片间隔

[start:end :x] x表示切片间隔,可以是负数,表示反向间隔

a = '123456789'
print(a[::-2])		#'97531'       反向每两个索引做一次切片处理
字符串格式化

%s格式化字符串
%d格式化数字
%c格式化字符及其ASCII码

#例1
print('我喜欢%s色'%'红')
#输出结果:
#我喜欢红色
#例2
a='我是%s,今年%d'
b=a%('小明',14)
print(b)
#输出结果:
#我是小明,今年14岁
字符串方法

待补充

编号方法名称功能描述
1capitalize()将字符串的第一个字符转换为大写
字符串类型转换

用内置函数str将int、float、bool数据类型转换为字符串

a=100
str_a=str(a)
print(type(str_a))
#结果:
#

列表(list)

列表、元组,集合,字典是容器类型数据
列表中数据是有序的

创建列表

列表里可以存放任意类型的数据,每个数据之间,用逗号分隔,整个列表被包裹在一对中括号[]里,如果你定义lst = [],[]表示一个空列表。

list1=[1,2,3,4,5]
list2=[1,'2',ture]
list3=[[1,2,3],4,'列表']
列表索引

向列表中添加数据

insert :指定插入位置
append:默认在列表尾部插入数据

lst = [3, 5, 8, 1, 2, 6, 9]
lst.insert(2, 22)  # 将22插入到索引为2的位置上
lst.append(33)     # 将33增加到列表尾部
print(lst)
#结果
#[3, 5, 22, 8, 1, 2, 6, 9, 33]
列表遍历

方法1:索引遍历

lst = [3, 5, 8, 1, 2, 6, 9]
for i in range(len(lst)):
   print(lst[i])

方法2:迭代器遍历

lst = [3, 5, 8, 1, 2, 6, 9]
for item in lst:
   print(item)

方法3:enumerate函数遍历

lst = [3, 5, 8, 1, 2, 6, 9]
for index, item in enumerate(lst):
   print(index, item)
删除列表中元素

删除列表里的元素有两种方法,一种是根据索引来删除,一种是根据值来删除
根据索引删除:用列表的pop方和del关键字

lst = [3, 4, 1, 4, 2]
lst.pop(0)     # 删除索引为0的元素
print(lst)
#结果
#[4, 1, 4, 2]
lst = [3, 4, 1, 4, 2]
del lst[0]	 # 删除索引为0的元素
print(lst)
#结果
#[4, 1, 4, 2]
del lst[0] 等价于 lst.pop(0)

根据值删除列表里的元素:
根据值删除,使用remove方法,remove会删除列表里指定的值,比如你想删除4

lst = [3, 4, 1, 4, 2]
lst.remove(4)	# 删除列表中的4
print(lst)
#结果
#[3, 1, 4, 2]
'''需要注意的是,remove方法一次只会删除一个值,列表里有两个4,它会删除索引最小的那个4'''
列表相关内置函数

1、len计算列表长度

lst = [3, 4, 1, 4, 2]
print(len(lst))

2、max返回列表中最大值

lst = [3, 4, 1, 4, 2]
print(max(lst))

3,min返回列表中最小值

lst = [3, 4, 1, 4, 2]
print(min(lst))

4、sum返回列表中所有数据之和

lst = [3, 4, 1, 4, 2]
print(sum(lst))
列表嵌套
lst = [1, [1, 5], 3, [9, 8, [1, 3]], 5]
print(lst[3][2][0])
print(lst[1:4])
#结果为 1
列表方法

待补充

方法功能
count()统计某个元素在列表中出现的次数
元组(tuple)

元组和列表非常相似,不同之处在于,元组里的元素不能修改。
元组使用小括号,列表使用中括号

tup1 = (1,2,3,4)
tup2 = (1, )

如果元组里只有一个元素,也必须使用逗号
对于元组的理解,参照列表即可

元组与列表之间可以使用list()和tuple()函数进行转换

lst = [1,2,3]
tup = tuple(lst)
lst2 = list(tup)
字典(dict)

字典存储的是key:value对, 字典中存储的数据总是成对的, key被称之为键, value称之为值, 值可以是任意数据且可重复, 而键不可重复且必须是可hash的,字典中数据是无序的

创建字典

字典是一个容器类型数据,字典里存储的是键值对,键值对用冒号分割key与value,每个键值(key-value)对用逗号分割,整个字典包裹在花括号{}中

contacts_dict = {
   "小王": '13892339876',
   "小张": '13898320987',
   "小李": '13890348745'
}
新增字典键值对和修改value

新增键值对的方式,一对中括号紧跟在字典后面,中括号里写key,等号右侧写value

score_dict['小丽'] = 100

字典中key值不能重复,修改键值对时如果key不存在,那么就会新增键值对,如果key已经存在,就会修改value

访问字典中的值

用key值访问

score_dict = {
   '小明': 99,
   '小刚': 98,
   '小红': 94
}

print(score_dict['小红'])
#结果为 94
删除字典里的键值对

指定key值删除

del score_dict['小红']

除了这种方法外,你还可以使用字典的pop方法

score_dict.pop('小红')
字典嵌套
stu_dict = {
   'name': '小明',
   'age': 12,
   'score': {
       '语文': 90,
       '数学': 98
   }
}
print(stu_dict['score']['语文'])
#结果为90
字典方法
方法功能作用
clear()删除字典内所有的元素
集合(set)

集合中的元素有3个特性:

  • 确定性:给定一个集合,任何对象是不是这个集合的元素是确定的了
  • 互异性:集合中的元素一定是不同的
  • 无序性:集合中的元素没有固定的顺序
创建集合
set_1 = set()   # 空集合
set_2 = {'python', 32, 983.9, 'python', 'php'}
集合添加删除元素
my_set = {'python', 32, 983.9, 'python', 'php'}
my_set.clear()
print(my_set)
集合常用操作

1 、clear,清空集合
列表,字典,集合的清空操作,都可以使用clear来完成

my_set = {'python', 32, 983.9, 'python', 'php'}
my_set.clear()
print(my_set)

2 、in 和 not in
in 和 not in 是成员运算符,对于列表,元组,字典,集合,判断一个数据是否在这些容器类型数据中,都可以使用成员运算符

my_set = {'python', 32, 983.9, 'python', 'php'}
print('php' in my_set)

3、交集

set1 = set(lst1)
set2 = set(lst2)
inter_set = set1.intersection(set2)
print(inter_set)

4、并集

union = set1.union(set2)
print(union)

5、差集

diff_set = set1.difference(set2)
print(diff_set)
集合方法

待补充

方法描述
add()为集合添加元素
程序控制 条件控制 if语句
if condition:
    block

condition 是一个表达式
如果condition等价于True,则进入block代码块执行代码
block代码块相比于if语句缩进4个空格

else
value = input("请输入一个正整数:")
i_value = int(value)
if i_value % 2 == 0:
    print("你输入的整数是:{value}, 它是偶数".format(value=value))
else:
    print("你输入的整数是:{value}, 它是奇数".format(value=value))
elsf
value = input("输入一种颜色:")
if value == '红色':
    print("红灯停")
elif value == '绿色':
    print("绿灯行")
elif value == '黄色':
    print("等一等")
else:
    print("无法识别")
if嵌套
num = int(input("输入一个数字:"))
if num < 50:
    if num % 3 == 0:
        print('可以被3整除')
    else:
        print('不能被3整除')
else:
    if num % 5 == 0:
        print("可以被5整除")
    else:
        print("不能被5整除")
循环控制 for循环

  • tmpVar 是临时变量
  • Iterable 是可迭代对象
  • 绿色区域是循环条件,当对可迭代对象的迭代遍历结束时,for循环也就结束
  • block是循环体,每一次循环,程序都要进入到这个block内来执行代码

for循环,从形式上可以分为两种

  • 使用range函数自由控制循环次数
  • 遍历容器
    1、range函数
    range函数返回一个对象,该对象产生一个整数序列。

range函数有3个参数

  • start 整数序列开始的位置
  • stop 整数序列结束的位置
  • step 步长

开始与结束位置所组成的区间[start, stop)是左闭右开的,start默认是0,step默认是1。下面向你展示range函数的使用方法

  • range(1, 5) 产生的整数序列是1, 2, 3, 4
  • range(0, 4, 2) 产生的整数序列是0,2
  • range(5, 0, -1) 产生的整数序列是5, 4, 3, 2, 1
  • range(3) 产生的整数序列是0,1,2
    2、遍历容器数据
    下面的代码向你展示如何判断一个数据是不是可迭代对象
from collections import Iterable

print(isinstance(range(5), Iterable))    # range函数返回值是可迭代对象
print(isinstance([1, 2], Iterable))   # 列表
print(isinstance((1, 2, 3), Iterable))   # 元组
print(isinstance({1, 2, 3}, Iterable))   # 集合
print(isinstance({"a": 1, "b": 2}, Iterable))   # 字典
python 循环中的continue 与 break
  • coninue的中文翻译是继续,在循环体里,continue的作用是跳过当前循环的剩余语句,结束本次循环,继续进行下一轮循环,下面用一个简单的例子来演示continue的功能
  • 满足某个条件时,我们希望能终止循环,这时,你需要使用break语句。不同于continue,break具有很强的破坏力,它的作用是直接停止当前所在的循环
while循环

python中的while语句用于循环执行程序,当给定的判断条件为True时执行循环体,循环体里是一段需要重复执行的代码。每一次执行完循环体都要重新对判断条件进行计算,只有当判断条件为False的时候才会终止循环, 此外,也可以使用break语句终止循环

python while循环的一般形式

while 表达式:
    代码块
函数 函数调用和定义

1、函数定义

def 函数名(参数列表):
    函数体

2、函数调用

def hello_word():   #参数可以为空
    print('hello world')

hello_word()
数据存储 文件读写

读取文件时,首先要打开文件,获得句柄

f = open('学生信息.txt','r')

使用open函数,可以打开一个文件,返回文件句柄,open函数的第一个参数是文件地址,第二个参数是打开模式,打开模式详细介绍如下

访问模式说明
r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式
w打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件
a+打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/280349.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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