python3基础入门教程

python3入门基础

1. 数据类型

  • 变量
  • 字符串
  • 数字
    • 整数
    • 浮点数
  • 布尔
  • 注释

2. 列表

2.1 列表简介

  • 什么是列表
    • 就是数组
  • 列表在python中长什么样子
x = ['a', 'b' , 'c' , 'd']
  • 如何:修改,删除,添加元素

    • 修改
    x[0] = 'new_a'
    
    • 添加元素
    x.append('new_ending')	#使用方法append在行末插入元素
    
    • 插入元素
    x.insert(0,'new_add_a')	# 使用方法insert(a,b)在a位置插入b值
    
    • 删除元素
    # 按位置删除
    del x[0]	#使用方法del按位置删除数据
    x.pop()		#使用方法pop删除按位置列表最后一个元素并返回这个元素
    x.pop(a)	#使用方法pop()删除位于a位置的元素并返回这个元素
    
    # 按值删除
    x.remove('b')	#使用remove()方法,按值删除列表中某个元素
    
  • 列表排序

    • 方法:sort()

      x.sort():顺序打印

    x.sort(reverse = Ture): 倒序打印

    假设所有值都是小写的,永久修改列表元素的排序。

    • 临时排序sorted,可传递参数reverse = Ture来倒序排序

    • 倒序打印列表,不是按照字母顺序,而是反转列表元素的排列 顺序。

      x.reverse()

  • 确定列表的长度

    len(a)使用方法len()就可以快速确定列表长度

  • 避免列表索引错误

-1总是返回列表总后一个元素

2.2 列表的操作

  • 遍历列表
cds = ['a' , 'b' , 'c']
for c in cds:
    print(c)
  • 常创建数值列表

    • 函数range()生成一系列数组
    >>> for value in range(1,5):
    	print(value)
    
    	
    1
    2
    3
    4
    
    • 使用range创建数字列表
      • 先创建数列,然后在数据转化为列表
    >>> cds = list(range(8,19))
    >>> print(cds)
    [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18]
    
    • 对数字列表执行简单的统计计算
    max()
    min()
    sum()
    
  • 使用列表的一部分

    • 切片
    >>> cds = list(range(8,19))
    >>> print(cds)
    [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18]
    >>> cds
    [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18]
    
    >>> print(cds[0:3])	 	#正序切片
    [8, 9, 10]
    
    >>> for c in cds:		#遍历
    	print(c)
    
    	
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    
    
    >>> print(cds[-3:])	#反序切片
    [16, 17, 18]
    
    #步长切片
    
  • 元组

    • 什么是元组?
      • 不可改变的列表成为元组,
    • 和元组有什么区别?
      • 值不可改变
      • 使用()而不用[]
    • 定义元组
      • x = (1,2,4)
    • 遍历元组
    >>> cds = ('a' , 'b' , 'c')
    >>> for x in cds:
    	print(x)
    
    	
    a
    b
    c
    

给元组变量赋值是合法的

# if语法

age = 14
if age < 0:
    print("illege")
elif age < 6:
    print("age<6")
elif age < 15:
    print("age <15")
else:
    pirnt("ok")
    
# for循环
apples = ['a' , 'b' , 'c']
	for apple in apples:
        print(apple)

3. 字典

  • 什么是字典

    • 一系列键值对,每一个键都有一个值相对应
    • 键值是二个相关联的值,之间用:相连接
    • 键值对之间用逗号隔开
    >>> x = {'name':'cds' , 'age': '14'}	#创建字典
    >>> print(x['name'])	#访问字典
    cds
    
  • 添加键值对

    • 依次指定字典名,用方括号括起来的键和相关的值
    >>> person = {}		#新建一个空字典
    >>> person['name'] = 'cds'	#增加一对键值对
    >>> person['age'] = 23		#在增加一对键值对
    >>> person		#打印
    {'name': 'cds', 'age': 23}
    
  • 修改字典中的值

person['name'] = 'zmy'

  • 删除键值对

可以使用del语句永久删除键值对

del person['name']

  • 遍历字典

    • 遍历键值对

    使用方法items()

    person = {
    	'cds':'23',
    	'zme':'18',
    	'text':'54'
    	}
    for key,value in person.items():
    	print(key)
    	print(value)
    	print()
    
    
    • 遍历键

    使用方法keys()

    >>> for key in person.keys():
    	print(key)
    
    	
    cds
    zme
    text
    
    • 遍历值

    使用方法values()

    person = {
    	'cds':'23',
    	'zme':'18',
    	'text':'54'
    	}
    for value in person.values():
    	print(value)
    
    	
    23
    18
    54
    
  • 嵌套

    • 什么是嵌套

    把字典存储到列表中,或者将列表作为值存储到字典中,称之为嵌套

    • 字典列表
    • 在字典中存储列表
    • 在字典中存储字典

4. 用户输入和while循环

  • 用户输入

input函数可以向用户请求输入,不过将一切输入均解释为字符串,如果需要使用其他类型,可强制类型转化。

  • 求模运算

将二个数相除,并返回余数。

4 % 3

  • while循环
while  x < 4:
    statement

5.函数

  • 定义函数
def function_name():
    statement
  • python的return可以返回好几个值,跟Java不一样
  • pass 不做任何事情,一般用做占位语句。Python pass是空语句,是为了保持程序结构的完整性。
  • 形参和实参
    • 位置实参
    • 关键字实参
  • 默认值
  • 传递任意数量的实参
>>> def make_piza(*toppings):
	for topping in toppings:
		print(topping)
# 先用*toppings 生成一个名为topping的元组,将实参全部放进元组存储,多少都可以处理!
		
>>> make_piza('a')
a
>>> make_piza("a",'a',"c")
a
a
c
  • 导入函数
    • import file_name.py
    • from file_name.py import function_name1,function_name2
    • import file_name.py as new_name

6.类

  • 什么是类?
    • 跟java 中的类一样,跟c语言的结构体比较像。
  • 创建类
class 	Class_name():	# 类首字母大写
    statement
    

7.文件和异常

1.读取文件

  • 读取整个文件
with open('file_name') as file_object:
    text = file_object.read()
    print(text)

read()方法:读取文件的全部内容,并将其作为一个长长的内容显示出来。

open()函数:打问文件,接受一个参数,就是文件的名称

with关键字:在不需要文件的时候自动关闭文档。可以省略close()方法的调用

  • 逐行读取

使用for循环完成对文件的逐行读取!

with open('file_name') as file_object:
    for a in file_object:
        print(a)
  • readlines()创建包含文件的列表
with open('file_name') as file_object:
    lines = file_object.readlines()
    
for line in lines:
    print(line.resrip())
   
  • 注意,读取文本时,python将所有字符都解释为字符串,如果需要数字,可强制类型转化!

2. 写入文件

  • 逐行写入空文件
with open('file_name','w') as file_object:
    filr_object.write("i love programming")

'r','w','r+':读,写,读取和写入

  • 通过'w'打开的文件,如果文件不存在,则会自动创建该文件,如果文件存在,则会清空该文件在打开。

  • write()方法,将一个字符串写入文件

  • python只能将字符串写入文本文件,如果想要将数值类数据存储到文本文件,则需要强制类型数据转化。

  • 如果使用方法write()写入文件需要换行,可使用转义字符\n

  • 附加到文件,如果不想清空源文件,仅在结尾添加数据,可使用附加模式打开文件a

3. 异常

  • 使用try-except代码块
try:
    a = 5 / 0
except ZeroDivisionError:
	print('不能除以0')
    
else:
    print('可以计算')

    
    #如果运行代码` a = 5 / 0`报错`ZeroDivisionError` ,则运行`except`中的代码后接着运行其后的代码

4. 存储数据

  • json.dump():接受二个参数,要存储的数据,以及用于存储数据的文件对象
  • json.load()读取文件
import json		# 导入

number = [1,2,3,4,5]

file_name = 'json_dump.txt'
with open(file_name,'w') as text:	
	json.dump(number,text)	#将number写入text
	
	
with open(file_name) as text1:	
	a = json.load(text1)	#将text1赋值给a
	
print(a)


#dump 堆放,倾倒
  • 保存和读取用户生成的数据
import json

name = input("输入你的名字:  ")

file_name = 'name_cun_chu.txt'
with open(file_name,'w') as text:
	json.dump(name,text)

with open(file_name) as text1:
	a = json.load(text1)

print(a)

8 .函数注解

def f(ham: str, eggs: str = 'eggs') -> str:
    print("Annotations:", f.__annotations__)
    print("Arguments:", ham, eggs)
    return ham + ' and ' + eggs

9. Lamada函数

待补充

10.列表

  1. 列表模拟堆栈
stack = [3, 4, 5]
stack.append(6)
stack.append(7)
stack
[3, 4, 5, 6, 7]
stack.pop()
  1. 列表模拟队列
from collections import deque
queue = deque(["Eric", "John", "Michael"])
queue.append("Terry")           # Terry arrives
queue.append("Graham")          # Graham arrives
queue.popleft() 

11. 格式化输出

在 ‘:’ 后传递整数,为该字段设置最小字符宽度,常用于列对齐:

a = 3.121312
# 小数点后2位 
f"{a:2}"
  1. 字符串前加 : f
  2. “”.format()
print('{0} and {1}'.format('spam', 'eggs'))

print('This {food} is {adjective}.'.format(
      food='spam', adjective='absolutely horrible'))
  1. 手动

字符串对象的 str.rjust() 方法通过在左侧填充空格,对给定宽度字段中的字符串进行右对齐。同类方法还有 str.ljust() 和 str.center() 。这些方法不写入任何内容,只返回一个新字符串,如果输入的字符串太长,它们不会截断字符串,而是原样返回;虽然这种方式会弄乱列布局,但也比另一种方法好,后者在显示值时可能不准确(如果真的想截断字符串,可以使用 x.ljust(n)[:n] 这样的切片操作 。)
在这里插入图片描述
在这里插入图片描述

  • 12
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

早睡的叶子

你的鼓励就是我的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值