python基础复习(一)

一,注释
      单行注释:Python 使用井号(#)表示单行注释。

      多行注释:是指一次性将程序中的多行代码注释掉,在 Python 程序中使用三个单引号或三个双引号(""" “”")将注释的内容括起来。
在这里插入图片描述

二,变量及类型
        变量:

         声明变量 只能是 字母,数字,下划线,不能使用关键字,和别的语言一样 数字不能开头。 区分大小写,abc和Abc是两个不同的标识符。

       变量赋值
       Python 中的变量赋值不需要类型声明
                   例如:
在这里插入图片描述
多个变量赋值
Python允许同时为多个变量赋值。例如:
在这里插入图片描述
也可以为多个对象指定多个变量。例如:
在这里插入图片描述
标准数据类型
Python有五个标准的数据类型:

类型
Numbers(数字)
String(字符串)
List(列表)
Tuple(元组)
Dictionary(字典)

Python数据类型转换在这里插入图片描述
查看数据类型
type()不会认为子类是一种父类类型。type(n)查看数据类型
isinstance()会认为子类是一种父类类型。isinstance(a, int)核对数据类型

三,标识符和关键字

(1)标识符

  • 什么是标识符?

    开发人员在程序中自定义的一些符号和名称,标识符是自己定义的,如变量名 、函数名等

(2)标识符的规则

  • 标识符由字母、下划线和数字组成,且数字不能开头
  • python中的标识符是区分大小写的

(3)命名规则

  • 见名知意

    起一个有意义的名字,尽量做到看一眼就知道是什么意思(提高代码可 读性) 比如: 名字 就定义为 name , 定义学生 用 student...

  • 驼峰命名法
  • 小驼峰式命名法(lower camel case): 第一个单词以小写字母开始;第二个单词的首字母大写,例如:myName
  • 大驼峰式命名法(upper camel case): 每一个单字的首字母都采用大写字母,例如:MyName
  • 还有一种命名法是用下划线“_”来连接所有的单词,比如my_name

(4)关键字

  • 什么是关键字?

    python一些具有特殊功能的标识符,这就是所谓的关键字

    关键字,是python已经使用的了,所以不允许开发者自己定义和关键字相同的名字的标识符

(5)查看关键字
在这里插入图片描述
可以在Python Shell通过以下命令进行查看当前系统中python的关键字
在这里插入图片描述
四,输出

(1)普通的输出

  • python中变量的输出

在这里插入图片描述
(2)格式化输出

1.打印字符串

 print ("my name is %s"%("哈哈")

效果:

在这里插入图片描述
1.打印整数

 print ("my age is %d"%(20))

效果:
在这里插入图片描述
1.打印浮点数

 print ("my height is %f "%(1.60))

效果:
在这里插入图片描述
(3)常用的格式符号
在这里插入图片描述
(3)换行输出
      在输出的时候,如果有\n那么,此时\n后的内容会在另外一行显示

 print('abcdefg------') #会在一行显示
 print('abcdefg\nhigklmn----') # 一行显示abcdefg,另外一行显示higklmn----

效果:
在这里插入图片描述
五,运算符

(1)算数运算符
        python算数运算符包括:+、-、*、**、/、//、%
        下面以a=10 ,b=20为例进行计算
在这里插入图片描述
(2)关系运算符
    Python关系运算符包括:==、!=、<>、<、>、<=、>=,返回布尔值True/False
在这里插入图片描述

(3)赋值运算符
       python赋值运算符包括:=、+=、-+、*=、/=、%=

在这里插入图片描述
(4)逻辑运算符
    python逻辑运算符包括:and、or、not
         and: 与运算,当所有条件都为True时返回True
         or: 或运算,当其中一个条件为True时返回True
         not: 非运算,当条件为True时返回False,条件为False时返回True
在这里插入图片描述
六,数值类型

1,数字(int)
      Python的数字类型有int整型、long长整型、float浮点数、complex复数、以及布尔值(0和1)

       在Python2中,整数的大小是有限制的,即当数字超过一定的范围不再是int类型,而是long长整型,而在Python3中,无论整数的大小长度为多少,统称为整型int。

       其主要方法有以下两种:其主要方法有以下两种:
       int -->将字符串数据类型转为int类型, 注:字符串内的内容必须是数字

a="123"
i = int(a)
print(a)

       bit_length() -->将数字转换为二进制,并且返回最少位二进制的位数

i =123
print( i.bit_length() )

#输出结果为:
>>>5 

2,布尔值(bool)
      对于布尔值,只有两种结果即True和False,其分别对应与二进制中的0和1。

#以下结果为假,即None、‘’、[](){}以及 0
>>> bool(None)
False
>>> bool('')
False
>>> bool([])
False
>>> bool(0)
False
>>> bool(())
False
>>> bool({})
False

3,字符串(str)
      关于字符串是Python中最常用的数据类型,其用途也很多,我们可以使用单引号 ‘’或者双引号“”来创建字符串。

       字符串是不可修改的。所有关于字符我们可以从 索引、切片、长度、遍历、删除、分割、清除空白、大小写转换、判断以什么开头等方面对字符串进行介绍。
       创建字符串

#字符串的形式:使用‘’或者“”来创建字符串
name ='haha'
print(name)

       切片

#获取切片,复数代表倒数第几个,从0开始
>>> name ="abcdefg"
>>> name[1]
'b'
>>> name[0:-2] #从第一个到倒数第二个,不包含倒数第二个
'abcde'

       索引–>index(),find()

name = "ddabcdefg"
#index-->获取索引,语法->str.index(str, beg=0 end=len(string)),第二个参数指定起始索引beg,第三个参数结束索引end,指在起始索引到结束索引之前获取子串的索引
print(name.index("d",2,6)) #在索引区间2-6之前查找‘d’,找到是第三个‘d’,其索引为5

#find -->其作用与index相似
print(name.find("d",2))  #结果也为 5

       长度–>len()

name = "abcdefg"
#获取字符串的长度
print(len(name))

#输出为:
>>> 7

 注:len()方法-->同样可以用于其他数据类型,例如查看列表、元组以及字典中元素的多少。

       删除–>del()

#删除字符串,也是删除变量
>>> name ="abcdefg"
>>> del name
>>> name
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'name' is not defined

       判断字符串内容 --> isalnum()、isalpha()、isdigit()

#判断是否全为数字
>>> a ="123"
>>> a.isdigit()
True
>>> b ="a123"
>>> b.isdigit()
False

#判断是否全为字母
>>> d ="abc--e"
>>> d.isalpha()
False
>>> c ="abc"
>>> c.isalpha()
True

#判断是否全为数字或者字母
>>> e ="abc123"
>>> e.isalnum()
True

       判断字符串内容 --> isalnum()、isalpha()、isdigit()

#大小写的互相转换
>>> name ="abcdefg"
#首字母大写-->capitalize
>>> name.capitalize()
'Abcdefg'

#转为标题-->title
>>> info ="my name is haha"
>>> info.title()
'My Name Is Haha'

#全部转为小写-->lower
>>> name ="ABCDEFG"
>>> name.lower()
'abcdefg'

#全部转为大写-->upper
>>> name = "abcdefg"
>>> name.upper()
'ABCDEFG'

#大小写转换-->swapcase
>>> name ="aBcDeF"
>>> name.swapcase()
'AbCdEf'

       判断以什么开头结尾 --> startswith()、endswith()

#判断以什么开头、结尾
>>> name ="abcdefg"

#判断以什么结尾
>>> name.endswith("g")
True

#判断以什么开头
>>> name.startswith("ab")
True

       判断以什么开头结尾 --> startswith()、endswith()

#expandtabs -->返回字符串中的 tab 符号('\t')转为空格后生成的新字符串。通常可用于表格格式的输出

info ="name\tage\temail\nhaha\t20\t3125127806@qq.com\nlala\t18\t66622334@qq.com"
print(info.expandtabs(10))

#输出为:
name      age       email
haha         20        3125127806@qq.com
lala         33        66622334@qq.com

       格式化输出–>format()、format_map()

#格式化输出-->format、format_map

#forma方法
#方式一
>>> info ="my name is {name},I'am {age} years old."
>>> info.format(name="haha",age=20)
"my name is haha,I'am 20 years old."

#方式二
>>> info ="my name is {0},I'am {1} years old."
>>> info.format("haha",20)
"my name is haha,I'am 20 years old."

#方式三
>>> info ="my name is {name},I'am {age} years old."
>>> info.format(**{"name":"haha","age":20})
"my name is haha,I'am 20 years old."

#format_map方法
>>> info ="my name is {name},I'am {age} years old."
>>> info.format_map({"name":"haha","age":20})
"my name is haha,I'am 20 years old."

       jion方法

#join--> join(): 连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串

#字符串
>>> name ="haha"
>>> "-".join(name)
'h-a-h-a'

#列表
>>> info = ["hh","aa","bb","ccd"]
>>> "--".join(info)
'hh--aa--bb--ccd'

       分割 --> split()、partition()

#分割,有两个方法-partition、split

#partition -->只能将字符串分为三个部分,生成列表
>>> name ="ha-lo"
>>> name.partition("-")
('ha', '-', 'lo')

#split-->分割字符串,并且可以指定分割几次,并且返回列表
>>> name ="a-b-cc-ddd"
>>> name.split("-")
['a', 'b', 'cc', 'ddd']
>>> name.split("-",2)  #指定分割几次
['a', 'b', 'cc-ddd']
>>>

       替代 -->replace

#替代
>>> name ="haha"
>>> name.replace("h","H")
'Haha'
#也可以指定参数,替换几个
>>> name.replace("a","b",2)
'hbhb'
 

    清除空白 --> strip()、lstrip()、rstrip()

#去除空格
>>> name ="  haha   "

#去除字符串左右两边的空格
>>> name.strip()
'haha'

#去除字符串左边的空格
>>> name.lstrip()
'haha   '

#去除字符串右边的空格
>>> name.rstrip()
'  haha'

       替换 -->makestran 、translate

1 #进行一一替换
2 
3 >>> a ="haha"
4 >>> b="哈哈"
5 >>> v =str.maketrans(a,b) #创建对应关系,并且两个字符串长度要求一致
6 >>> info ="I'm a Chinese people,haha"
7 >>> info.translate(v)
8 "I'm a Chine是e people,我是哈哈人"

4,列表(list)
      列表是由一系列特定元素顺序排列的元素组成的,它的元素可以是任何数据类型即数字、字符串、列表、元组、字典、布尔值等等,同时其元素也是可修改的。

       他的形式为:

1 names = ['aa","bb","cc"]
2 #或者
3 names = list(['aa","bb","cc"])

       索引、切片

 1 #索引-->从0开始,而不是从一开始
 2 name =["aa","bb","cc"]
 3 print(name[0:-1])
 4 
 5 
 6 #切片-->负数为倒数第几个,其为左闭右开,如不写,前面表示包含前面所有元素,后面则表示后面所有元素
 7 i =name[1:]
 8 print(i)
 9 #输出为-->['bb', 'cc']
10 i2 =name[:-1]
11 print(i2)
12 #输出为-->['aa', 'bb']

       追加–>append()

1 #追加元素-->append()
2 name =["aa","bb","cc"]
3 name.append("dd")
4 print(name)
5 
6 #输出为--》["aa","bb","cc","dd"]

       拓展–>extend()

#扩展--》其将字符串或者列表的元素添加到列表内
 2 #一、将其他列表元素添加至列表内
 3 name =["aa","bb","cc"]
 4 name.extend(["dd","ee"])
 5 print(name)
 6 #输出为-->["aa","bb","cc","dd","ee"]
 7 
 8 #二、将字符串元素添加到列表内
 9 name =["aa","bb","cc"]
10 name.extend("haha")
11 print(name)
12 #输出为-->aa', 'bb', 'cc', 'dd', 'ee', 'h', 'a', 'h', 'a']
13 
14 #三、将字典元素添加至列表内,注:字典的key。
15 name =["aa","bb","cc"]
16 name.extend({"hello":"world"})
17 print(name)

       insert() -->插入

1 #insert()插入-->可以指定插入列表的某个位置,前面提到过列表是有序的
2 name =["aa","bb","cc"]
3 name.insert(1,"dd") #索引从0开始,即第二个
4 print(name)

       pop() -->取出

1 #pop()--取出,可将取出的值作为字符串赋予另外一个变量
2 name =["aa","bb","cc"]
3 name2 =name.pop(1)
4 print(name)
5 print(name2,type(name2))
6 
7 #输出为:['aa', 'cc']

       remove()–>移除、del -->删除

#remove -->移除,其参数为列表的值的名称
 2 name =["aa","bb","cc"]
 3 name.remove("aa")
 4 print(name)
 5 
 6 #其输出为:['bb', 'cc']
 7 
 8 #del -->删除
 9 name =["aa","bb","cc"]
10 #name.remove("aa")
11 del name[1]
12 print(name)
13 
14 #其输出为:['aa', 'cc']

       sorted()–>排序,默认正序,加入reverse =True,则表示倒序

 1 #正序
 2 num =[11,55,88,66,35,42]
 3 print(sorted(num)) -->数字排序
 4 name =["bb","aa","cc"]
 5 print(sorted(name)) -->字符串排序
 6 #输出为:[11, 35, 42, 55, 66, 88]
 7 #    ['aa', 'bb', 'cc']
 8 
 9 #倒序
10 num =[11,55,88,66,35,42]
11 print(sorted(num,reverse=True))
12 #输出为:[88, 66, 55, 42, 35, 11] 

5,元组(tuple)
      元组即为不可修改的列表。其于特性跟list相似。其使用圆括号而不是方括号来标识。

#元组
name = ("a","b")
print(name[0])

6,字典(dict)
      字典为一系列的键-值对,每个键值对用逗号隔开,每个键都与一个值相对应,可以通过使用键来访问对应的值。无序的。
      键的定义必须是不可变的,即可以是数字、字符串也可以是元组,还有布尔值等。
      而值的定义可以是任意数据类型。

#字典的定义
info ={
    1:"hello world",  #键为数字
    ("hello world"):1, #键为元组
    False:{ 
        "name":"haha"
    },
    "age":20
}   

       遍历 -->items、keys、values

info ={
   "name":"haha",
   "age":20,
   "email":"3125127806*@qq,com"
}
#键
for key in info:
    print(key)
print(info.keys())
#输出为:dict_keys(['name', 'age', 'email'])

#键值对
print(info.items())
#输出为-->dict_items([('name', 'haha'), ('age', 20), ('email', '3125127806*@qq,com')])

#值
print(info.values())
#输出为:dict_values(['haha', 20, '3125127806*@qq,com'])

6,集合(set)
      关于集合set的定义:在我看来集合就像一个篮子,你可以往里面存东西也可往里面取东西,但是这些东西又是无序的,你很难指定单独去取某一样东西;同时它又可以通过一定的方法筛选去获得你需要的那部分东西。故集合可以 创建、增、删、关系运算。
      集合的特性:
             1,去重
             2,无序
             3,每个元素必须为不可变类型即(hashable类型,可作为字典的key)。
      创建:set、frozenset

 #1、创建,将会自动去重,其元素为不可变数据类型,即数字、字符串、元组
2 test01 ={"a","b","c","d",666,("hello","world",),True}
3 #或者
4 test02 =set({"a","b","c","d",666,("hello","world",),True})
5 
6 #2、不可变集合的创建 -->frozenset()
7 test =frozenset({"a","b","c","d",666,("hello","world",),True})

      增: add、update

#更新单个值 --->add
names ={"a","b","c"}
names.add("d") #其参数必须为hashable类型
print(names)

#更新多个值 -->update
names ={"a","b","c"}
names.update({"e","d"})#其参数必须为集合
print(names)

      删除:pop、remove、discard

#随机删除 -->pop
names ={"aa","bb","cc","dd","ee"}
names.pop()
print(names)

#指定删除,若要删除的元素不存在,则报错 -->remove
names ={"aa","bb","cc","dd","ee"}
names.remove("aa")
print(names)

#指定删除,若要删除的元素不存在,无视该方法 -->discard
names ={"aa","bb","cc","dd","ee"}
names.discard("hello")
print(names)
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值