Python学习0——基础知识1

复习一下:Python基础知识学习

菜鸟教程:Python3 基础语法 | 菜鸟教程 (runoob.com)

一、数据类型

1、Number(数字)

(1)数字类型

 Python包括4种数字类型:int、float、bool、complex(复数)

1    2.0    True     1+2j

注:Python3 中,bool 是 int 的子类,True 和 False 可以和数字相加, True==1、False==0 会返回 True,但可以通过 is 来判断类型。

(2)强制类型转换

int(x)          #将x转换为一个整数。

float(x)        #将x转换到一个浮点数。

complex(x)      #将x转换到一个复数,实数部分为 x,虚数部分为 0。

complex(x, y)   #将 x 和 y 转换到一个复数,实数部分为 x,虚数部分为 y。x 和 y 是数字表达式。

(3)数字运算

#算术运算符 :+ - * / % ** //
#比较(关系)运算符 : == != > < >= <=
#赋值运算符 : = += -= *= /= %= **= //= :=(海象运算符,可在表达式内部为变量赋值。Python3.8 版本新增运算符。)
#位运算符 : & | ^(异或) ~ << >>(按位左移和按位右移)
#逻辑运算符 :and or not
#成员运算符 :in   not in 测试实例中是否包含另一成员
#身份运算符 :is   not is

2、String(字符串)

我们可以使用引号( ' 或 " )来创建字符串

'Hello World!'
"Hello World!"

(1)访问字符串

可以使用 [ ]来截取字符串,索引值从 0 开始,-1 结尾。

str = 'Hello'

#字符串截取
str[0]是'H' ,str[-1]是'o'
str[:]是'Hello'
str[0:]是'Hello'
str[:4]是'Hello'
str[2:4]是'll'    左闭右开

(2)转义字符以及字符串运算

转义字符

\在行末尾时表示续行符

\n换行符

\r  \f  \v  \t等等

字符串运算

# + * in   not in 
a = 'Hello'
b = 'Python'
>>> a + b
 'HelloPython'

>>> a * 2
 'HelloHello'

>>> 'H' in a
 True

(3)字符串格式化

 常用的有% s  和%d  %f

%s格式化字符串
%d格式化整数   
%f格式化浮点数

print ("我叫 %s 今年 %d 岁!" % ('小明', 15))

 Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。

>>> name = '小明'
>>> f'Hello {name}'  # 替换变量
'Hello 小明'

3、List(列表) 

列表数据项不需要具有相同的类型,而且我们常常需要对列表进行索引和切片等操作。列表可以嵌套列表。

list = ['Google', 'Runoob', 1997, 2000,'red','a']

(1)访问列表

列表的访问非常类似字符串,第一个列表元素是List[0],依次是List[1],List[2]。

list = ['Google', 'Runoob', 1997, 2000,'red','a']

#列表索引
list[0] = 'Google'
list[1] = 'Runoob'

#列表截取
list[0:4] = ['Google', 'Runoob', 1997, 2000]

(2)更新列表

我们可以对被定义的列表进行更新,比如:删除、添加、更改

list = ['Google', 'Runoob', 1997, 2000,'red','a']

#删除列表元素
>>>del list[5]   #表示删除列表中第六个元素
>>>print(list)
['Google', 'Runoob', 1997, 2000,'red']

#更改列表元素
>>>list[1] = 'Baidu'
>>>print(list)
['Google', 'Baidu', 1997, 2000,'red']

#添加列表元素
>>>list.append('Huohu')     #在列表的末尾添加元素
>>>print(list)
['Google', 'Baidu', 1997, 2000,'red','Huohu']

列表运算:列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。

>>>[1, 2, 3] + [4, 5, 6]	
[1, 2, 3, 4, 5, 6]

>>>['Hi!'] * 4	
['Hi!', 'Hi!', 'Hi!', 'Hi!']

>>>3 in [1, 2, 3]	
True

(3)列表函数

len(list)      #列表元素个数
max(list)      #返回列表元素最大值
min(list)      #返回列表元素最小值
list(seq)      #将元组转换为列表
list.append(obj)           #在列表末尾添加新的对象
list.count(obj)            #统计某个元素在列表中出现的次数
list.extend(seq)           #在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
list.index(obj)            #从列表中找出某个值第一个匹配项的索引位置
list.insert(index, obj)    #将对象插入列表
list.pop([index=-1])       #移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
list.remove(obj)           #移除列表中某个值的第一个匹配项
list.reverse()             #反向列表中元素
list.sort(key=None,reverse=False)    #对原列表进行排序,reverse = True 降序, reverse = False 升序(默认)
list.clear()               #清空列表
list.copy()                #复制列表

4、Tuple(元组)

Python 的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号 ( ),列表使用方括号 [ ]。元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

#创建空元组,元组中只包含一个元素时,需要在元素后面添加逗号 
tup = ()

(1)访问元组

元组的访问和截取与列表一样,请参考列表。

(2)更新元组

元组中的元素值是不允许修改的,但可以对元组进行连接和删除。

#元组拼接
tup1 = (12, 34.56)
tup2 = (78, 910)
tup3 = tup1 + tup2
print (tup3)

(12,34,56,78,910)

#元组中的元素值是不允许删除的,但可以使用del语句来删除整个元组
del tup

(3)元组函数

(1, 2, 3) + (4, 5, 6)	
(1, 2, 3, 4, 5, 6)	             #连接
('Hi!',) * 4	
('Hi!', 'Hi!', 'Hi!', 'Hi!')	 #复制
3 in (1, 2, 3)	
True	                         #元素是否存在
len(tuple)            #计算元组元素个数。
max(tuple)            #返回元组中元素最大值。
min(tuple)            #返回元组中元素最小值。
tuple(iterable)       #强制类型转换。

5、Set(集合)

集合(set)是一个无序的不重复元素序列,可以使用大括号 { } 或者 set() 函数创建集合

注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

 集合的基本操作

#添加元素
s.add(x)      #添加元素x到集合 s 中,如果元素已存在,则不进行任何操作。
s.update(x)   #添加参数X到集合 s 中,参数可以是元素,列表,元组,字典等

#移出元素
s.remove(x)   #如果元素不存在,则会发生错误
s.discard(x)  #如果元素不存在,不发生错误
s.pop()       #设置随机删除集合中的一个元素

#计算集合元素个数
len(s)

#清空集合
s.clear()

#判断元素是否在集合中
x in s

6、Dictionary(字典)

字典可存储任意类型对象,由键值对key=>value 组成,key=>value对内用冒号 : 分割,外用逗号,分开。

dict = {key1 : value1, 
        key2 : value2, 
        key3 : value3 }

键是唯一的,是不可变动的,而值是可以改变的。

#student 1
student_01 = {'name':'YunYing',
              'age':18,
              'job':'cike'}

#student 2
student_02 = {'name':'ZhangLiang',
              'age':20,
              'job':'fashi'}

#student 3
student_03 = {'name':'CaiWenji',
              'age':10,
              'job':'fuzhu'}

 (1)字典的基本操作

#访问字典值
student_01 = {'name':'YunYing',
              'age':18,
              'job':'cike'}
>>>student_01['name']

#修改字典
#将某个值赋给字典的键
>>>student_01['name'] = 'HuaMulan'

#添加键值对
>>>student_01['attact'] = 'liaoyuanbaizhan'

#删除字典元素和清空字典
del student_01['name'] 
student.clear()
del student_01

 注:

①不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住 

②键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行

(2)遍历字典

遍历字典

#遍历字典
print(student_01.items())     #student_01.items()可以遍历字典,生成一个以键值对列表为元素的元组
for k,v in student_01.items():
    print('Key:' + str(k))
    print('Value:' + str(v))

遍历字典中的键 

#遍历字典中的键
print(student_01.keys())
for k in student_01.keys():
    print('Key:' + k)

 遍历字典中的值

#遍历字典中的值
print(student_01.values())
for v in student_01.values():
    print('value:' + str(v))

 

 (3)字典嵌套

列表中嵌套字典

#列表中嵌套字典
#比如我想展示所有出现的英雄信息
student_01 = {'name':'YunYing','age':18,'job':'cike'}
student_02 = {'name':'ZhangLiang','age':20,'job':'fashi'}
student_03 = {'name':'CaiWenji','age':10,'job':'fuzhu'}
student_04 = {'name':'ZhuangZhou','age':20,'job':'fuzhu'}
student_05 = {'name':'JiaLuo','age':24,'job':'sheshou'}

students = [student_01,student_02,student_03,student_04,student_05]

for student in students:
    print(student)

 

字典中嵌套列表

#字典中嵌套列表
#比方说云缨,我想知道云缨的所有的攻击技能
student_01 = {'name':'YunYing',
              'age':18,
              'job':'cike',
              'attact':['zhuiyun','zhuxing','duanyue','jianyi','ruiyi','zhenyi',]}

 即某一个键的特性需要用不止一个值来描述,往往会嵌套列表。

字典中嵌套字典

Heros = {
         'YunYing':{'age':18,'job':'cike'},
         'ZhangLiang':{'age':20,'job':'fashi'},
         'CaiWenji':{'age':10,'job':'fuzhu'},
         'ZhuangZhou':{'age':20,'job':'fuzhu'}
         }

二、三大语句

1、if语句

(1)一般形式

if condition_1:
    statement_block_1
elif condition_2:
    statement_block_2
else:
    statement_block_3

(2)嵌套形式

if 表达式1:
    语句
    if 表达式2:
        语句
    elif 表达式3:
        语句
    else:
        语句
elif 表达式4:
    语句
else:
    语句

 2、while循环语句

while 判断条件(condition):
    执行语句(statements)……

Python没有do  while循环,并且可以通过while 1进入无限循环,Ctrl+c退出无限循环。

3、for循环语句

for <variable> in <sequence>:
    <statements>

需要遍历数字序列时,可以使用内置range()函数

>>>for i in range(5):
       print(i)

>>> for i in range(len(a)):
       print(i, a[i])

break 语句可以跳出 for 和 while 的循环体。

continue 语句跳过当前循环块中的剩余语句,然后继续进行下一轮循环。

三、函数

        编写程序代码时,比如实现某一功能需要多行代码实现,但是该功能在整个程序中多次出现,那么我们就需要多次书写这几行重复的代码,为保持代码的简洁与可读性,我们通过封装这几行代码的函数和调用函数来避免这种情况。函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

1、函数定义

def 函数名(参数列表):
    函数体

#举例
def div(Beichushu,chushu):
'''
函数说明:判断被除数是否可以被除数整除
'''
    if Beichushu%chushu == 0:
        return True;
    else:
        return False;
    
div(4,2)

2、函数调用与参数传递

函数定义好之后,可以在其他代码或者其他函数中调用该函数(通过调用函数名和传递参数)。

Beichushu = 168
chushu = 6
print(div(Beichushu, chushu))
  • 位置实参

位置实参要求以正确的顺序传入函数,调用时的数量必须和声明时的一样。

#比如我们想判断168是否可以整除6,
div(168,6)

 

#如果参数位置传递错误
div(6,168)

 

  • 关键字实参

关键字实参是传递给函数“形参=实参”对,在参数传递时将名称和参数值关联起来,允许函数调用时参数的顺序与声明时不一致,因为 Python 解释器能够用参数名匹配参数值。

div(chushu = 6,Beichushu = 168)
  • 默认参数

调用函数时,如果没有传递参数,则会使用默认参数(默认参数指在函数定义时赋给参数的值)。

  • 不定长参数

我们可能需要一个函数能处理比当初声明时更多的参数

def functionname([formal_args,] *var_args_tuple ):
   "函数_文档字符串"
   function_suite
   return [expression]

加了星号 * 的参数会以元组(tuple)的形式导入,存放所有未命名的变量参数。 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值