学习笔记整理:Python基础


以下内容为个人的学习笔记整理,如有错误,请指出,谢谢~


一、变量

1、在Python中定义变量的时候不需要指定类型。

2、数据类型分为数字型和非数字型:
①数字型:整型(int整数,long长整数)、浮点型float、布尔型bool(真为True或非0数;假为False或0)、复数型complex。
②非数字型:字符串、列表、元组、字典。

3、使用type函数可以查看一个变量的类型:type(变量)

4、不同变量之间的计算:
①数字型变量之间可以直接计算。
字符串之间可以用+号拼接成新的字符串。
如:name1="上" name2="岸" name1+name2
③字符串变量可以和整数*号重复拼接相同的字符串。
如:"-"*20
④数字型变量和字符串之间不能进行其他的计算。

二、if语句

if 条件1:
    条件1满足后执行的代码
elif 条件2:
     条件2满足后执行的代码
else:
    以上条件都不满足时,执行的代码

if 条件1 and 条件2:
    条件1和条件2都满足时执行的代码
if 条件1 or 条件2:
    条件1或条件2满足时执行的代码

还可以if语句嵌套使用。

三、随机数

import random
#导入工具包
random.randint(1,100)
#随机返回一个[1,100]之间的整数

四、continue和break的区别

continue是结束本次循环中后续的代码;break是结束整个循环
 

i=0
while i<10:
		if i==3:
			i+=1
			continue
		print(i)
		i+=1

结果:

五、print函数增强版

1、在默认情况下,print函数输出内容后会自动换行。

2、如果只是想单纯换行可以:print("")

3、如果不想换行:print("*",end="")
注:end=""里面的双引号可以被指定,则可以显示继续出现的内容

4、格式化输出
 

a=1
b=2
print("%d+%d=%d"%(a,b,a+b))
#d是整数,f是浮点数,s是字符串

六、转义字符

反斜杠符号\\
单引号\'
双引号|"
换行\n
回车\r
横向制表符(不用表格的情况下垂直方向下按列对齐文本)\t

七、函数

1、基本函数定义写法

def hello():
    print("hello")
#def后面接的是函数名,函数名由字母、下划线、数字组成,不能数字开头,不能与关键词重名。
#调用时直接输入函数名。
#如果不在同个包下,要导入此函数的包名,调用时:包名.函数名

2、函数小括号内可以有多个参数

def sum_sum(sum1,sum2):
    return=sum1+sum2
sum=sum_sum(1,2)
print(sum)

八、列表

1、列表相当于数组,列表的定义:list=[1,2,3]
其中可以存放不同类型的数据,列表可以更改数据,索引从0开始。

2、列表的函数方法:
①用于增加
指定位置插入数据: 列表名.insert(索引,数据)
在末尾追加一个列表: 列表名.extend(列表名2)
在末尾追加数据:列表名.append(数据)

②用于修改
修改指定索引的数据: 列表名[索引]=数据

③用于删除
删除指定索引的数据: del列表名[索引]
删除指定的数据,如果有多个,只删除第一个: 列表名.remove(数据)
删除指定索引数据,并且返回该数据: 列表名.pop(索引),如果不指定索引默认为删除最后一个数据
清空列表: 列表名.clear

④用于统计
列表长度: len(列表名)
数据在列表中出现的次数: 列表名.count(数据)

⑤用于排序
升序排序: 列表名.sort(reverse=  False)  默认为False
降序排序: 列表名.sort(reverse=  True) 
反转: 列表名.reverse()
逆序/降序不对原列表作任何修改,有返回值: list=sorted(列表名)

3、用for循环遍历数组
 

list[1,3,5]


#用name接收每次循环中列表的数据
for name in list:
    print(name)

九、元组

1、元组表示多个元素组成的序列,在元组中的元素不能修改

2、定义一个元组: tuple=("zhangsan",20)
每个元素要用逗号隔开,索引从0开始;如果元组中只有一个元素时,需要在元素后面添加逗号,否则会认为这不是一个元组而是一个变量: tuple=(20,)

3、取元组中的数据和取元组中的索引:
数据: 元组名[索引]
索引:元组名.index(数据)

4、统计计数
元组名.count(数据)

5、可以使用元组拼接为一个字符串(格式化字符穿后面的本质就是一个元组)
 

tuple=("沈池",20,185.5)
print("我的名字是%s,今年%d岁,身高%.1fcm"%tuple)

6、元组和列表可以互相转化,则可以改变该元素可变/不可变。
将元组转换成列表: list(元组名)
将列表转换成元组: tuple(列表名)

7、数字交换:a=20 b=21
①使用别的变量:

c=b
b=a
a=c

②不使用临时变量:

a=a+b
b=a-b
a=a-b

③利用元组
 

(a,b)=(b,a)
#可以省略括号


十、字典

1、字典是无序的对象集合,列表是有序的对象集合。

2、字典使用键值对存储数据,每一对键值对用逗号分隔。
字典的定义:xiaoming={"name":"小明","age":18}
【冒号左边的是键key,是唯一的;冒号右边的是值value;其中值可以取任意值,但键只能使用字符串,数字或元组。】

3、字典函数的方法:
①获取字典键值对的数量: len(字典名)
②获取字典中所有key列表: 字典名.keys()
③获取字典中所有value列表: 字典名.keys()
④所有(key,value)元组列表
取值: 字典名[key]
如果指定的key不存在会报错。
增加/修改
如果key存在,修改存在的键值对;如果key不存在,则会新增键值对。
字典名[key]=22
删除:字典名.pop(key)
如果指定的key不存在会报错。

十一、字符串

1、字符串在python中用英文的一对双引号或者单引号来定义。
        如果要输出双引号或者单引号用\作为转义符。

2、可以使用索引获取一个字符串中指定位置的字符,索引从0开始。
用for循环遍历字符串每个字符:
 

String="hello"
for c in String:
    print(c)

3、字符串常用函数方法:
①获取字符串长度: len(字符串)
②某字符串在此字符串中出现的次数: 字符串.count(字符串2)
③从字符串取出某个字符: 字符串[索引]
④取出某个字符中在字符串中的索引: 字符串.index(字符串2)

4、判断类型的函数方法:
只包含空格,返回True: 字符串.isspace()
②至少有一个字符并且字符都是字母或者数字的返回True: 字符串.isalnum()
③至少有一个字符并且字符都是字母的返回True: 字符串.isalpha()
④字符都是数字(全角数字)的返回True: 字符串.isdecimal()
⑤字符都是数字(全角数字、(1)、\u00b2)的返回True: 字符串.isdigit()
⑥字符都是数字(全角数字、汉字数字)的返回True: 字符串.isnumeric()
⑦字符是标题化的(每个单词开头字母大写),返回True: 字符串.istitle()
⑧字符串至少包含一个区分大小写的字符,并且所有这些字符是小写,则返回True: 字符串.islower()
⑨字符串至少包含一个区分大小写的字符,并且所有这些字符是大写,则返回True: 字符串.isupper()

5、查找和替换的函数方法:
①检查字符串是否以某个字符串开头,则返回True: 字符串.startswith(字符串2)
②检查字符串是否以某个字符串结尾,则返回True: 字符串.endswith(字符串2)
③检测字符串中是包含某个字符串(可以指定该字符串的范围),如果有的话返回第一个的索引,如果没有的话返回-1 : 字符串.find(字符串2,start=0,end=len(字符串))
④与3一致,但是是从右边往左开始找:  字符串.rfind(字符串2,start=0,end=len(字符串))
⑤与3一致,但如果不存在会报错: 字符串.index(字符串2,start=0,end=len(字符串))
⑥与5一致,但是是从右边往左开始找: 字符串.rindex(字符串2,start=0,end=len(字符串))
⑦返回一个将字符串1修改成字符串2的新字符串(可以指定替换次数): 字符串.replace(字符串1,字符串2,num=字符串.count(字符串1))

6、大小写转换:
①返回一个把字符串的第一个字符变成大写的新字符串: 字符串.capitalize()
②返回一个每个单词首字大写的新字符串:字符串.title()
③返回一个把字符串所有大写变成小写的新字符串: 字符串.lower()
④返回一个把字符串所有小写变成大写的新字符串: 字符串.upper()
⑤返回一个把字符串大小写翻转的新字符串: 字符串.swapcase()

7、文本对齐
返回一个原字符串左边/右边/中间对齐,并使用空格填充至长度width
字符串.ljust/rjust/center(width)

8、去除空白字符
返回一个去除原字符串左边/右边/左右两边的空白字符
字符串.lstrip/rstrip/strip

9、拆分和连接
①将字符串分成三个元素的元组: 字符串.partition(字符串2)
②与1一样,但从右边开始找: 字符串.rpartition(字符串2)
③以str分割切片字符串,如果num有指定值,则会分成num+1个字符串,str默认包括"\r"、"\t"、"\n"和空格: 字符串.split(str="",num)
返回的是一个列表
④返回一个包含各行行为作为元素的列表:字符串 .splitlines()
⑤字符串.join(字符串2)

十二、切片

1、切片方法只适用于字符串、列表、元组。(不会改变原元素)

2、字符串/列表/元组[开始索引:结束索引:步长]
①索引左闭右开
步长1为连续切片,如果步长为负数则可以倒着切
③如果不写开始和结束索引默认为从头开始,末尾结束,但冒号不能省略

十三、python内置函数

 十四、运算符

 注:
①【可以用if跟着in 表示如果整型name等于数组中的值的话:】  
If name in [1,2,3]:
 ②【for和in是话,表示name循环等于数组中的值,然后依次输出,有顺序】
for name in [1,2,3]:
       print(name)
数组中可以有字典。查询value的时候可以这样查询:
mingzi=[{“name”:”zhangsan”}, {“name”:”lisi”}]
mingzi[“name”]

十五、完整的for语句

for name in list:
    #循环体代码。
else:
    #如果循环体中没有通过break退出循环,就会执行此代码。

十六、可变和不可变类型

1.可变类型(内存中的数据可以修改):列表、字典

2、不可变类型(内存中的数据不可以修改):字符串、元组、数字类型

3、可变类型的数据变化是通过方法来实现的;如果给一个可变类型的变量赋值了一个新的数据。引用会改变。

十七、局部变量和全局变量

1、全局变量:是在函数外部定义的,所有函数内部都可以使用这个变量。

2、局部变量:是在函数内部定义的,只能在该函数内部使用。
        函数执行结束后,函数内部的局部变量会被系统回收。
        不同函数可以定义相同的名字的局部变量。

 3、在函数内部修改全局变量的值:
需要在函数内部先用global进行声明,然后再修改。

 十八、retrun用法

1、当想返回多个数据的时候,可以返回一个元组。

2、接收函数返回值:

        可以单独处理:

         可以用多个变量存储其返回值:

 十九、可变参数和不可变参数

 1、在函数内部,针对参数使用赋值语句,不会影响实参变量!
 

def list_num(list):
#也就是说将这个列表赋值为[1,2,3],不会对实参有改变。
    list=[1,2,3]
    print(list)
list2=[3,4,5]
list_num(list2)
print(list2)

结果:

2、但如果传递的参数是可变类型,用方法修改了数据内容,那么实参会同步改变
 

def list_num(list):
#也就是说将这个列表添加列表[1,2,3],会对实参有改变。
    list.extend([1,2,3])
    print(list)
list2=[3,4,5]
list_num(list2)
print(list2)

 结果:


 

 二十、缺省参数

1、必须保证带有默认值的缺省参数在参数列表的末尾
 

def print_into(name,bol=True):
    sex="男"
    if not bol:
        sex="女"
    print("%s是%s"%(name,sex))
print_into("沈池",False)

2、调用多个缺省参数的函数,如果有多个,需要指定参数名,这样解释器才能够知道参数的对应关系。

二十一、多值参数

1、当需要一个函数处理的参数个数是不确定的时候,可以使用多值参数。
有两种多值参数:①一个*号接收元组(*args) ②两个*号接收字典(**kwargs)
 

def demo(sum,*args,**kwargs):
    print(sum)
    print(args)
    print(kwargs)
demo(1,2,3,4,name="沈池",age=20)

结果:

二十二、函数的递归

特点:一个函数内部自己调用自己;函数内部的代码是相同的,只是针对参数不同,处理的结果不同;当函数满足一个条件的时候,函数不再执行。(否则会出现死循环)

#定义一个函数sum_number,能够接收一个num的整数参数,计算1+2+3....+num的结果
def sum_number(num):
    if num==1:
        return 1
    return num+sum_number(num-1)
print(sum_number(100))

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Aure_xl

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值