python基础
人生苦短,我用python!
与C、C++等编译型语言不同,python是解释型语言,也就是说逐行解释,逐行执行。鉴于python是解释型语言,它的优点是可以在Windows,Linux,Mac之间跨平台执行,缺点是执行速度慢。我们都知道python可以调用很多包,它给予了我们站在巨人肩膀上开发代码的能力,因而被广泛使用。而python在代码规范方面比较严格,这是为了后辈可以迅速理解前辈开发的代码,并应用在自己的程序中。
介绍
(1)基本知识
【计算机三大件】:CPU是用来干活的,内存是用来临时储存的(空间小),硬盘是永久储存的(空间大且慢)
【程序和变量】
程序是用来处理数据的,变量是用来存储数据的
(3)pycharm是什么
我们常用的pycharm是python的集成开发环境(IDE: integrated development environment),集成开发环境就是集成了开发软件需要的所有工具。
(4)python基本代码格式
PEP8文档针对python的代码格式给出了建议
中文文档地址:http://zh-google-styleguide.readthedocs.io/en/latest/google-python-styleguide/python_style_rules
(5)通过Code→Reformat Code可以自动规范格式;Alt+F8
命名规则
新建项目,在项目下可新建多个文件。
注1:文件名不能以数字开头,建议文件名中仅包含小写字母、数字和下划线。
注2:标识符(即变量名和函数名)要求不能以数字开头,不能与关键词重名,可以由字母、下划线和数字组成。且分大小写。
注释
注释的目的:不是翻译代码,而是显示代码要做什么
格式:
(1)多行 “““xxxxxxx”””
常用于说明项目功能的注释,以及函数的注释等
(2)单行 #
通常用于复杂代码,在行尾进行注释
基本计算
(1) /除 //取整除 **幂
注:星号用于字符串表示重复
(2) c+=a 等效于c=c+a,其他运算可类比
数据分类
(1)数字型:–不可变类型
整型%d,浮点型%f (如%.02f),布尔型,复数型
(2)非数字型:
字符串%s,列表,元组,字典
【字符串】" "–不可变类型
常用方法:
字符串.isxxxxx():例如,字符串.isdigit()是否包含数字
查找替换:字符串.startswith();字符串.endswith();字符串.index(str, start=0, end=len(string))查找;字符串.replace(old_str,new_str)替换;str.find()和str.index()区别在于->若指定字符串不存在,使用index会报错而使用find会返回-1
切片:字符串[开始索引:结束索引:步长](注:步长为负数表示逆序)
大小写转换:字符串.title();字符串.lower();字符串.upper()
文本对齐:string.ljust(width); string.rjust(width); string.center(width)
去除空白字符:string.lstrip()截掉左边开始的空白字符;string.strip()截掉两边的空白
字符拆分和连接:string.partition(str)把字符串分割为str之前,str,str之后三部分;string.split(str="",num)以""中的字符串为分隔符切片string,仅分隔num+1个子字符串;string.join(seq)以string作为分隔符,将seq中所有元素合并为一个新的字符串
【列表】[ ] --可变类型
方法:列表.sort()排序;列表.count(数据);列表.index(" “)修改数据; 列表.pop(元素索引);列表.clear()清空;len(列表);列表.append()末尾追加;列表.insert()在指定位置插入;列表.extend()合并列表
【元组】( ) --不可变类型
注1:元组元素不能修改
注2:tuple(列表) 和 list(元组) 功能:列表和元组相互转换
【字典】{ “key”: value} --可变类型
注1:字典中的键值对是无序的,字典没有索引的概念,因而不能切片
注2:搜索等操作都是针对"key”的,key必须唯一,因此key只能使用不可变类型的数据
注3:合并列表操作的区别:+是新生成一个列表(不会进行相加再赋值的操作,误混),而.extend是更新了原有列表;append是把整块看作一项加到最后(也是更新原有列表),而extend可以将整块拆分成独立变量加入列表中
注4:字典不能比较大小
注5:在对字典使用 in 运算符的时候,判断的是字典的key
方法:字典.update()合并字典,且键值对重复时会更新其value
(3)运算符
in 和 not in 被称为成员运算符,返回True或者False
格式输出
注1:输出百分号用%%
(1)多个变量输出:用元组输出,i.e.:print(“xxx %s xxx %d” %(xx,xx))
(3)输出内容后不换行 print(“xx”,end="")
循环语句中break和continue
(1)break:某一条件满足时退出循环,不再执行后续循环
(2)continue:某一条件满足时,跳过本次循环,继续执行下面的循环
注:在使用continue关键词的前面,一般要修改循环的计数,否则可能导致死循环。
函数
(1)基本介绍
查看函数功能/注释:光标位于调用函数的位置,Ctrl+q
pass占位符:保证未开发部分代码不报错
#后加上TODO:用于标记需要去做的工作
查看变量中保存数据所在的内存地址: id()
局部变量 推荐使用(不推荐全局变量,可变范围大不好维护)
注1:局部变量函数执行时才被创建,函数执行结束即被系统回收,因而函数可以定义相同名字的局部变量,彼此不会影响
注2:函数执行时会先查找内部变量,内部找不到的时候才会去外部找全局变量
注3:python中不允许直接修改全局变量的值,如果函数内部对全局变量使用赋值语句,相当于定义了一个局部变量
注4:代码结构:
函数的参数和返回值
注1:有无参数/返回值是根据实际功能需求来定的
注2:有多个返回值时可以定义返回一个元组,小括号可以省略;如果希望能够单独处理返回值元组中的元素,可以使用多个变量依次接收函数的返回结果
def function():
......
return a, b
gl_a, gl_b = function()
多值参数:def function(num,*args,**kwargs),其中 *args是元组参数,**kwargs是字典参数
拆包
含义:调用含有多值参数的函数时,若希望将一个元组变量直接传递给args,将一个字典变量直接传递给kwargs,就会使用到拆包,简化参数传递。
示例:
函数递归
含义:函数调用自身
注意:一定要有递归出口,否则会出现死循环
交换数字 a,b=b,a
(2)for循环
示例:
其它语法将在python进阶操作中详解!
来源:CSDN
作者:笑逐颜开111
链接:https://blog.csdn.net/qq_42159947/article/details/103657387