Python入门基础语法总结

Python基础语法总结

在这之前先介绍一个"辅助函数"

  • dir(): 查询指定的某个数据~可以操作的所有函数、变量
    比如:查看list列表
>>> dir(list)
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
  • help():查询指定的变量、函数、类型的操作帮助手册
    比如:查看list列表中的insert
>>> help(list.insert)
Help on method_descriptor:
 
insert(self, index, object, /)
    Insert object before index.

一、 Python环境搭建
在这里插入图片描述二、Python数据类型
在这里插入图片描述
三、 Python变量

在这里插入图片描述
四、Python运算符

名称运算符
赋值运算符=
算术运算符+, - , *, / , //, ** , %
比较运算符> , >= , < , <= , == , !=
逻辑运算符and , or , not
成员运算符in
混合运算符+= , -= , *= , /=

python"位运算符":python的位运算符是把数字看作二进制来进行计算的。

按位与(&):如果两个二进位都为1,则该位结果为1,否则为0
按位或(|):只要一个为1,则为1,否则为0
按位异或(^):两个二进位相异为为1(即两个二进位要相反),否则为0
取反(~):对数据的每个二进制位取反,即把1变0,把0变1
左移动:运算数的各二进位全部向左移若干位
右移动:运算数的各二进位全部向右移若干位

五、 Python输入输出

  • 输出: 标准输出: print()

print(value, …, sep=’ ‘, end=’\n’, file=sys.stdout, flush=False)
print()函数本身用于输入value数据到标准输出【控制台界面】
sep参数控制分隔符号~
end参数用于控制输出后的显示结果是否需要换行,默认换行
file参数~默认指定了stdout标准输出

  • 输入: 标准输入: input() ------“python2中使用raw_input()”

input(prompt=None, /)
prompt参数:提示信息

六、Python程序结构
顺序结构在这里插入图片描述在这里插入图片描述
七、 Python组合数据类型

  • 列表list

在这里插入图片描述

  • 元组tuple

在这里插入图片描述

  • 集合set
    在这里插入图片描述

  • 字典dict
    在这里插入图片描述
    八、 Python函数操作

    • 什么是函数?
      生活中:行为,包含了一系列操作过程的行为; 生活中-通过调用行为-执行一个过程
      代码中:封装了大量代码的代码块,代码块进行了命名; 通过名称~调用执行一个函数

    • 声明函数
      def关键字:defined定义

      def 函数名称(函数中代码执行需要的参数列表):
      函数中执行的代码块
      [return 返回值]
      文档中:如果在操作语法说明中出现了方括号~表示这一部分内容是可选的

    • 执行函数
      通过该函数名称调用执行函数中的代码

      • 函数名称:

        def test():
        函数中的代码
        test() 调用执行test函数,执行test函数中的代码
        test2 = test 将函数test赋值给变量test2,并不会执行函数test
        test2() 执行test2函数~ test2中存放的是test->执行test()函数

    • 函数的参数

      • 参数的意义:函数中的代码执行需要的数据

        	def test(name):
         	    print("用户的名称是:", name)
        
            test("tom")   #执行test函数~需要一个数据name
        
      • 参数的区分
        在这里插入图片描述

        形式参数:
        	def  test(name):
        	    print(name)
        实际参数:
        	test("tom")
        
      • 函数参数的定义

        位置参数:
        	def test(a, b, c, d):
            print(.....)
         
        	操作过程中,调用执行时~实际参数按照形式参数的前后顺序[位置]依次赋值
         
        	test(1,2,3,4)
        默认值参数:
        	def test(a, b, c, d=100):
            print(.....)
         
        	操作过程中,函数声明中~某个形式参数可以直接赋值~该形式参数就是默认值参数;默认值参数可以在调用时不传递数据~使用默认数据进行运算。
        	 
        	test(1,2,3)    d自动赋值默认100运算
        	test(1,2,3,4)   d赋值4进行运算
         
         
        	注意:默认值参数一般放在最后面
        可变参数:
        	def test(a, *args):     args: arguments 参数
            print(.....)
         
        	操作过程中,可以通过符号*,声明某个可以接受多个数据的可变参数~ 可变参数可以接受0~n个数据。
        	 
        	test(1,2,3)    
        	  a赋值1,args赋值(2,3)
        	test(1,2,3,4)  
        	  a赋值1, args赋值(2,3,4)
        	 
        	可变参数可以将接受到的多个参数~自动封装成元组进行操作。自动封装过程~某些资料:自动封箱/自动装箱
        	 
        	注意:可变参数一般放在最后面
        关键字参数:
        	def test(a, **kwargs):   kwargs : keyword arguments 关键字参数
            print(.....)
         
        	操作过程中,可以通过符号**,声明某个可以接受多个key-value键值对数据,并且自动装箱成字典接受到函数中进行处理
        	 
        	test(1, name="jerry", age=12)    
        	a赋值1,kwargs赋值{"name": "jerry", "age": 12}
         
         
        	注意:关键字参数一般放在最后面
        万能参数:
        	def  test(*args, **kwargs):
            pass
         
        	*args可以接受任意多个的单个数据
        	**kwargs可以接受任意多个的key-value键值对数据
        	按照函数调用规范,单个数据放在前面,key-value数据放在后面。所以上面的参数列表:万能参数,可以接受任意数据当成函数的参数进行处理。
        强制关键字参数:
        	def test(*, name, age):
            pass
         
         
        	声明在符号*后面的所有参数,都是强制关键字参数~
        	 
        	理由?为什么要用它?
        	 
        	特点:一旦声明~函数中定义了的参数名称,必须在调用的时候使用它们作为key值
        	test(name="tom", age=100)  right
        	test(x="jerry", y=10)  error
        	 
        	理由:极大限度的提升代码的可读性
        
      • pass关键字
        是一个占位符

        def test():
            # TODO 注释【功能描述、时间、作者】
            pass
         
        通过pass占位符,让声明但是还没有实现的函数~不报错。
        不影响整体项目的进度。
         
        TODO注释~一种特殊的注释,表示待开发功能
          常规的IDE工具基本都集成了TODO注释的操作。
        
      • 函数的返回值
        单个返回值和多个返回值(特殊)

九、 Python字符串操作
在这里插入图片描述

  • 字符串空格处理
    strip() 剔除字符串两边的空格
    lstrip() 剔除字符串左边的空格
    rstrip() 剔除字符串右边的空格

  • 字符串占位

    %:
    	s = "我叫%s, 今年%d" % ("jerry", 30)
    format():
    	s = "我叫{}, 今年{}".format("tom", 30)
     
    	s = "我叫{name}, 今年{age}".format(name="tom",age=30)
    	 
    	s = "我叫{name}, 今年{age}".format(age=30, name="tom")
    字符串中使用变量:
    	name = "jerry"
    	age = 19
    	 
    	s  = f"我叫{name}, 今年{age}"
    
  • 字符串切片
    为什么要用切片?
    实际需求中~只需要字符串中的一部分数据
    方括号语法:

s[start: stop: step]
s是个字符串
  start开始位置
  stop结束位置
  step步长
name = "python"
print(name[0:3])
>>> 输出结果为 pyt
print(name[0:5:2])
>>> 输出结果为 pto
print(name[0:-1:2])
>>> 输出结果为 pto # -1表示最后一位,即第5位

十、Python文件IO操作

Python中包含了很多模块
原生模块:Python官方解释器中就包含的模块
解释器启动时<会自动引入一些模块>但不是全部模块
类似于列表list、集合set等等可以直接使用
类似于os操作模块,需要import才能使用
第三方模块:Python官方解释器中不包含的模块,如果要使用需要单独安装:pip install 模块名称
如:pip install pygame

在这里插入图片描述

  • 文件的操作模式

open(file, mode=‘r’, buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
Open file and return a stream. Raise OSError upon failure.
打开一个文件并且得到一个文件数据流,如果操作失败就会出现OSError异常
open函数:操作文件的一个函数
file参数:要操作的文件名称:绝对路径/相对路径
mode参数:操作方式
buffering参数:缓存
encoding参数:编码

在这里插入图片描述

  • python对象的操作
对象字符串处理操作:
	python对象:字典存储
		1. 存储
	 
		字典:d = dict()
		字典-> 字符串
		 
		with open(file, "w") as f:
		     f.write(字符串)  存储到文件中
		 
		最终:文件中存储的是字符串数据
		 ------------------------------------
		
		#1. 将程序中的字典数据,转换成字符串存储到文件中
		users = {'admin': {'username': 'admin', 'password': '123', 'nickname': '老刘'}}
		
		#类型能否直接转换字符串?
		users_str = str(users)
		
		#存储到文件中
		with open('./data/2.1.text', 'w') as file:
		    file.write(users_str)
		    
		 ############################################################################################   
		2. 读取
		
		with open(file, 'r') as f:
	    	data = f.read() 读取数据,将文件中的字符串数据,读取到程序中->问题:字符串依旧是字符串,不是python对象
	 
		eval函数:将一个字符串转换成python表达式
		------------------------------------
		# 2. 将文件中的字符串数据,读取到程序中
		with open('./data/2.1.text', 'r') as file:
		    users = file.read()
		    print(users, type(users))
		    # 将字符串数据,转换成字典:该字符串的格式~和python中的字典的表达式一致
		        users = eval(users)
		    print(users, type(users))
		    print(users.get('admin'))
		

JSON模块对象直接操作:
	dump(python对象,文件):
		# # 准备操作的数据
		users = {'admin': {'username': 'admin', 'password': '123', 'nickname': '老刘'}}
		# 1. 将程序中的数据,直接存储到文件中
		# json模块的操作
		with open('./data/3.1.json', 'w') as file:
		    json.dump(users, file)
		 
		# 打开一个文件~ 通过json.dump函数,将该对象,添加到文件中
	load(文件):
		# 2. 将文件中的数据,读取到程序中
		with open('./data/3.1.json', 'r') as file:
		    users = json.load(file)
		    print(users, type(users))
 
  • python对象的序列化操作
    在这里插入图片描述
    • marshal序列化模块
      在这里插入图片描述
    • shelve序列化模块
      在这里插入图片描述

这是学习过python基础后,做的总结,可能有好多地方不完善,仅作为参考,有什么不对的地方,还望各位大佬批评指正~

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值