时光飞逝,机会就在我们眼前,学会把握机遇。

Python 3 学习(1)

  •  小涛
  •   Python 3
  •  2019-07-06
  •  341 人已阅读

概要

Python是一种面向对象的解释性的计算机程序设计语言,也是一种功能强大而完善的通用型语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版于1991年。Python 具有脚本语言中最丰富和强大的类库,可以满足几乎所有的系统开发的需求。

官网 :https://python.org/

标准库: https://docs.python.org/3/library/index.html

vsCode编辑器设置
  1. Ctrl + Shift + P
  2. Python: Select Interpreter # 设置Python编译器
  3. Configure display Language ---- > install chinease language # 设置中文界面

变量与字符

# 字符变量
s1 = "hello"
s2 = "world"
print(s1 + s2) ## helloworld
print(s1 , s2) ## hello world 使用逗号,会出现空格


# 删除余白(两侧的空格)
msg = " Curry is MVP. "
print("|"+ msg +"|")
print("|"+ msg.rstrip() +"|") ## 删除右侧余白
print("|"+ msg.lstrip() +"|") ## 删除z左侧余白
print("|"+ msg.strip() +"|")  ## 删除两侧余白

数组元素

lang_list= ["JavaScript", "Ruby", "Java", "Python", "Go", "V"]

# 根据下标删除元素
del lang_list[0]
print(lang_list)

# pop()方法删除(先进后出,后进先出)
delted_item = lang_list.pop()
print(delted_item)  # 被删除的元素
print(lang_list)

# 指名删除
print(lang_list)
lang_list.remove("Go")
print(lang_list)

数组排序

lang_list= ["JavaScript", "Ruby", "Java", "Python", "Go", "V"]
print(lang_list)
print(len(lang_list))   # len()   字符长度

lang_list.sort()        # sort()   排序
print(lang_list)

lang_list.reverse()     # reverse()   反转
print(lang_list)

lang_list.sort(reverse=False)   # 不排序
print(lang_list)
lang_list.sort(reverse=True)    # 排序
print(lang_list)

# 排序函数
lang_list= ["JavaScript", "Ruby", "Java", "Python", "Go", "V"]
print(lang_list)
print(sorted(lang_list))
print(sorted(lang_list, reverse=True))  # 排序并反转

数组循环

myList = ["curry","harden","lebron","durant","kobe"]
# 循环所有元素
for name in myList:
   print(name)

## 循环所有索引(默认从0开始)和元素
for i,item in enumerate(myList):
   print(i,item)

range()函数的用法

#range()函数生成数列
for val in range(5):
    print(val)

# 指定range()函数的范围
for val in range(1, 5):
    print(val)
       
# 生成数组
nums = list(range(1,5))
print(nums)

# 奇数数组
nums = list(range(1,11,2))
print(nums)

# 偶数数组
nums = list(range(2,11,2))
print(nums)

# 处理函数
nums = [1, 3, 5, 7, 9, 2, 4, 6, 8, 10]
print(min(nums))
print(max(nums))
print(sum(nums))

# lambda写法(循环range()方法生成的值乘以2作为值)
nums = [val * 2 for val in range(1, 5)]
print(nums)

数组的切片

myList = ["curry","harden","lebron","durant","kobe"]
# 切片
print(myList[0:3])
print(myList[1:4])
print(myList[:3])
print(myList[2:])

# 循环切片
for val in myList[:3]:
     print(val)

# 复制切片
top3 = myList[:3]
top3.append("hh")
print(top3)

元组

元组是一种特殊的数组(列表),不可变的数组。

  • 通过小括号() 定义元组
  • 元组是不可变的数组(列表)
# 元组的声明并赋值
tuple_sample = (1, 2, 3, 6, 9, 10)
print(tuple_sample)
print(tuple_sample[3])
print(tuple_sample[3:])

# 循环元组
for val in tuple_sample:
     print(val)

# 元组不变值
tuple_sample[0] = 10
print(tuple_sample) 
# TypeError: 'tuple' object does not support item assignment

# 元组重新设置
tuple_sample = ("a", "b", "c", "d")
print(tuple_sample)
for val in tuple_sample:
     print(val)

字典的使用

db_config = {
    "ip": "192.168.1.1",
    "port": 8000,
    "uid": "postgres",
    "pdw": "123"
}

print(db_config)
print(db_config["uid"])

# 新增一个属性
db_config["timeout"] = 300
print(db_config)

# 修改属性值
db_config["timeout"] = 60
print(db_config)

# 删除属性
del db_config["timeout"]
print(db_config)

基本操作

# 遍历所有属性
for key,val in db_config.items():
    print(key, "=", val)

# 遍历所有的key
for key in db_config.keys():
    print(key, " is " , db_config[key])

# 遍历所有的值
for val in db_config.values():
    print(val)

函数

## 定义函数
def hello():
   print("Hello World")
## 调用函数
hello()

## 声明参数
def hello(name):
   print("Hello", name)
   
## 参数默认值
def hello(name="tyt"):
   print("Hello", name)

传递任意参数

## 定义一个任意参数的函数
def add(*num):
   res = 0
   for val in num:
       res += val
   return res

## 调用函数
print(add(1,2,3))

传递关键字参数

## 定义函数
def sendMail(**data):
   for key,val in data.items():
       print(key, ":", vale)

## 调用函数
sendMail(
   subject="编程挺好学的,就是头有点凉",
   to="test@test.com",
   try_time=5
)

自建模块

定义外部模块func.py

def add(x, y):
   return x + y

def minus(x, y):
   return x - y

main.py中引用外部模块func.py

# 导入模块
import func

print(func.add(10,20))
print(func.minus(10,20))

# 导入模块并指定别名
import func as myFunc

print(myFunc.add(10,20))
print(myFunc.minus(10,20))

# 导入模块函数
from func import *

print(add(10,20))
print(minus(10,20))

创建使用类

# 创建类
class Player():
   def __init__(self, name):   # 构造函数
       self.name = name
       
   def sayHello(self):
       print("hello", self.name.title())
       
def intro(self):
       print("I am player.")

# 使用类
curry = Player("curry")
print(curry.name)
curry.sayHelo()
curry.intro()

类继承

# 创建类
class Player():
   def __init__(self, name):   # 构造函数
       self.name = name
       
   def sayHello(self):
       print("hello", self.name.title())
       
def intro(self):
       print("I am player.")

class NbaPlayer(player): # 继承父类
   def __init__(self, name):
       super().__init__(name) ## super()调用父类的方法
       self.category = "nba"
       
def intro(self):
       print("I am a " + self.category + " player.")

## 调用
curry = Player("curry")
curry.sayHelo()
curry.intro()

print("----------------------------------")
curry = NbaPlayer("curry")
curry.sayHelo()
curry.intro()

文件的读写

# 文件保存的地址和文件格式
filename = "out/data.txt"

# 文件写入
with open(filename, 'w', encoding='utf-8') as myfile:
   myfile.write("你好,Python!\n")
   myfile.write("Hello Python!\n")

# 文件读出
with open(filename, 'r', encoding='utf-8') as myfile:
   content = myfile.read()
   print(content)

文件的处理参考:https://docs.python.org/3/library/functions.html#open

js对象保存

import json    # 导入json模块

filename = "out/data.json"

mydata = {
   "title": "Python基础视频",
   "lessons": {
       "python": "制作中",
       "vue": "制作中",
       "node": "制作中"
  },
   "games": {
       "宝可梦探险寻宝": "奋斗中",
       "信长之野望": "通关",
       "GTA5": "打不下去了"
  },
}

# json对象写入
with open(filename, 'w', encoding='utf-8') as myfile:
   json.dump(mydata, myfile, indent=4)

# json对象读出
with open(filename, 'r', encoding='utf-8') as myfile:
   myjson = json.load(myfile)
   print(myjson)

异常处理

  • try-except

  • try-except-else

  • try-except-else-finally

# 除0异常
print(10/0)

# 捕捉异常
try:
   print(10/0)
except ZeroDivisionError as zex:
   print("除0异常")
else:
   print("正常处理")
finally:
   print("End")
  很赞哦!(0)
关闭

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

下一篇:Git学习笔记

 发表评论  请文明留言
0 条评论

 还没有评论,来说两句吧...