python入门(二)

本文详细介绍了Python的基础语法,包括注释、变量、标识符、关键字、数据类型(如数字、字符串、列表、元组、集合和字典)、字符串操作、切片、输入输出、运算符、控制语句等。此外,还讲解了数据类型转换、字典的创建和操作,以及集合的运算。通过对这些基础知识的学习,读者可以掌握Python编程的基本技能。
摘要由CSDN通过智能技术生成

目录

2.1 注释

2.2 变量

2.3 标识符

2.4 关键字

2.5 python数据类型

2.6 数字类型

2.7 字符串类型

字符串的拼接:+、*

字符串常用方法:

格式化输出:

2.8 切片

语法:

用法:

2.9 列表

列表常用的方法:

2.10 元组

2.11 集合

集合运算:

2.12 字典

创建字典:

更新/插入字典值:

字典常用方法:

2.13 数据类型转换

2.15 python输入输出语句

2.16 python运算符与表达式

算术运算符:用于数学计算

赋值运算符:完成变量的赋值

关系运算符:判断两个操作数之间的关系

逻辑运算符:

位运算符:把数字转换为二进制进行计算

三元运算符

成员运算符:判断值是否在序列中

身份运算符:比较两个对象的内存地址

2.17 python控制语句

if判断语句

循环语句

循环嵌套:


  • 二、python基础语法

2.1 注释

单行注释:#

多行注释:””” ”””

2.2 变量

程序是用来处理数据的,而变量就是用来存储数据的

变量的定义:

       变量是内存中一块空间,存储规定范围内的值,值可以改变

变量赋值语法

变量名 = 值

变量名1 = 变量名2 = 变量名3 = 值

第二种赋值语句中的变量1、2、3从内存角度来看是指向同一块内存地址,可以使用命令来查看变量的内存地址   id(变量名)

2.3 标识符

即开发人员自己定义的名称,可以是变量名,也可以是函数名或者类名,以及模块名

标识符定义规则:

  1. 由字母、数字、下划线组成             _h_123
  2. 不能以数字开头
  3. 不能以关键字作为标识符
  4. 标识符区分大小写

命名规则:

见名知意

驼峰命名法

如何查看python的关键字?

import keyword

print(keyword.kwlist)

2.4 关键字

2.5 python数据类型

type(),查看变量的数据类型

数据类型一共分为两大类:可变数据类型、不可变数据类型

可变数据类:列表(list)、字典(dictionary)

不可变数据类型:数字(number)、字符串(string)、元组(tuple)、集合(set)

可变或者不可变都是针对的内存地址来判断的

可以通过查看内存地址的方法来进行判断

2.6 数字类型

注意:python中数字不区分长短整形、单双进度

数字类型用于存储数值。他们是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象。

当你指定一个值时,Number对象就会被创建:num=15

Int:整型,Python3 整型是没有限制大小的,可以当作 Long 类型使用,所以 Python3 没有 Python2 的 Long 类型。

Float:浮点型,用来表示带有小数部分的数据,比如10.5   -33.3e10

Bool:布尔类型,用来表示逻辑真、逻辑假,只有两个值True或者False,在Python中它们的数值分别为1和0,可以跟其它数据类型的数据进行运算

Complex:复数类型,复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型

2.7 字符串类型

python中使用单引号、双引号、三对双引号来表示字符串

区别在于三队双引号可以保留字符串的格式

字符串的拼接:+、*

注意:字符串和数字变量之间不能进行运算

字符串常用方法:

capitalize():将字符串第一个字符大写      

title():首字母大写

lower():将整个字符串都小写   大写转小写

upper():将整个字符串都大写  小写转大写

replace(old,[,new][,count]):将字符串中的old子串替换为new,替换count次,默认全部替换

split(sep):将字符串用给定的标准分割,并且以列表形式返回分割后的元素组

len(字符串变量名):计算字符串的长度

注意:字符串方法并不会修改字符串变量在内存中存放的值

格式化输出:

如果希望输出文字信息的同时,可以一起输出数据,就需要使用格式化操作符

% 被称为格式化操作符,专门用于处理字符串中的格式

       包含%的字符串被称为格式化字符串

       %和不同的字符连用,可以实现输出不同的数据类型

注意:%后面只能跟一个值

课件上的格式化字符中,重点演示以下格式化字符

格式化字符

含义

%s

字符串 str

%d

有符号十进制整数,%0nd表示输出的整数显示n位数,不足的地方使用0补全

%f

浮点数,%.0nf表示小数点后只显示n位 float

%%

输出%

可以在一个输出语句中同时输出多种不同格式的数据,需要在格式化操作符后面使用元组数据类型

2.8 切片

切片定义:序列的截取,用来实现对序列的操作

语法:

变量名[起始下标:截止下标]

注意:前闭后开区间,即截止下标处的值取不到

用法:

从左到右索引默认0开始的,最大范围是字符串长度少1

从右到左索引默认-1开始的,最大范围是字符串开头

如果你想要取得一段子串的话,可以用到变量[头下标:尾下标],就可以截取相应的字符串,其中下标是从0开始算起,可以是正数或负数,下标可以为空表示取到头或尾。

2.9 列表

标识:[ ]

索引从0开始

列表常用的方法:

L.append(var)   #追加元素

L.insert(index,var) #在指定位置插入元素

L.pop(index)      #返回最后一个元素,并从list中删除之        pop:弹

根据下标来删除

注意:pop所谓的删除不是物理删除,而是仅仅将元素从列表中移除,如果你需要使用移除的元素,只需要拿变量来接收

L.remove(var)   #删除第一次出现的该元素          remove:删除

真正意义上的删除,将元素从内存中彻底磨出了

L.count(var)    #该元素在列表中出现的个数               count:统计个数

L.index(var)    #该元素的位置,无则抛异常                  index:下标/索引

注意:如果元素在列表中有多个值,index只能返回该元素第一次出现的下标

L.extend(list)  #追加list,即合并list到L上                 extend:扩展

L.sort()        #排序,函数本身实现是从小到大

sorted(列表变量)         排序不改变原列表变量值

L.reverse()     #反转         将目标列表旋转180度,把头换到尾

list的复制

L1 = L      #L1为L的别名,用C来说就是指针地址相同,对L1操作即对L操作。函数参数就是这样传递的

共用了同一块内存地址

L1 = L[:]   #L1为L的克隆,即另一个拷贝。

两步:L[:]通过切片,将L列表中的全部拿出来了

       将拿出来的值重新填充到另一块内存地址中

2.10 元组

标识:()

特点:不能修改

注意:空元组的定义要使用(值,),不能直接赋值一个( )

2.11 集合

标识:{ }

特点:无需不重复的序列

基本功能是进行成员关系测试和删除重复元素。

可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

集合运算:

a = set('newdream66')

b = set('news90')

print(a - b)   # a和b的差集 即打印a中存在,但b中不存在的元素

print(b - a)   # b和a的差集 即打印b中存在,但a中不存在的元素

print(b | a)   # a和b的并集 即打印a和b中的所有元素,并去掉重复的

print(a&b)   # a和b的交集 即打印a和b中都存在的元素

print(a ^ b)  # a和b中不同时存在的元素

利用set集合的不重复特性,可以帮我们快速实现数据的去重

2.12 字典

相信所有人对下面的新华字典都不陌生,每个人学生时代一定使用过这个东西。那它跟python中的字典是什么关系呢?

答案是,此字典即彼字典。都是通过一个关键字,来查询这个字对应的释义。只不过这个“关键字”在python中称为【key】,“释义”称为【value】

标志:{ }

字典是由key和value组成:{‘key’:value}

字典两个注意事项:

1、字典中的键必须独一无二,但值则不必。创建时如果同一个键被赋值两次,后一个值会被记住;

2、键必须不可变,可以用数字,字符串或元组充当,但是不可以用列表

3、值可以是任何数据类型

创建字典:

语法1:

字典名 = {key1:value1, key2:value2, key3:value3}

语法2:使用dict类

空字典:字典名 = dict()

通过映射字典对象:字典名 = dict(字典对象名)

通过迭代变量:字典名 = dict([(key, value), (key, value)]) 或者

字典名 = dict(([key, value], [key, value]))

通过参数:字典名 = dict(key=value, ket = value)

    dict() -> new empty dictionary

    dict(mapping) -> new dictionary initialized from a mapping object's

        (key, value) pairs

    dict(iterable) -> new dictionary initialized as if via:

        d = {}

        for k, v in iterable:

            d[k] = v

    dict(**kwargs) -> new dictionary initialized with the name=value pairs

        in the keyword argument list.  For example:  dict(one=1, two=2)

语法3:通过fromkeys函数

语法:字典名 = dict.fromkeys(序列,value)

用法,将序列中的每一个元素作为key,每个key对应统一的value

更新/插入字典值:

字典名[key] = value

如果key不存在,则进行插入元素的操作;如果key存在,则进行修改元素值的操作

字典常用方法:

1、adict.keys() 返回一个包含字典所有KEY的列表;

2、adict.values() 返回一个包含字典所有value的列表;

3、adict.clear() 删除字典中的所有项或元素;

4、adict.get(key, default = None) 返回字典中key对应的值,若key不存在字典中,则返回default的值(default默认为None);

5、adict.pop(key[,default]) 和get方法相似。如果字典中存在key,删除并返回key对应的vuale;如果key不存在,且没有给出default的值,则引发keyerror异常;

6、adict.update(bdict) 将字典bdict的键值对添加到字典adict中,无则添加,有则覆盖

2.13 数据类型转换

自动类型转换:低精度转高精度,不涉及溢出,会自动转换

强制类型转换:高精度转低精度

常见数据类型转换:

int(x [,base])                 将x转换为一个整数

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

str(x)                       将对象 x 转换为字符串

repr(x)                     将对象 x 转换为表达式字符串

eval(str)            用来计算在字符串中的有效Python表达式,并返回一个对象

tuple(s)                      将序列 s 转换为一个元组

list(s)                         将序列 s 转换为一个列表

chr(x)                       将一个整数转换为一个字符

unichr(x)             将一个整数转换为Unicode字符

ord(x)                       将一个字符转换为它的整数值

dict(d)                    创建一个字典。d 必须是一个序列(key,value)元组

2.14 eval()函数

将字符串当成有效表达式来求值并返回计算结果

eval(‘1 + 1’) à 2

2.15 python输入输出语句

input():通过input函数从键盘录入的数据全部都是字符串类型

print():输出语句

format()格式函数输出

语法:

str字符串.format()。字符串中需要填充值的位置使用{ }保留,format函数对应{ }中的参数个数

2.16 python运算符与表达式

  1. 算术运算符
  2. 赋值运算符
  3. 关系运算符
  4. 逻辑运算符
  5. 位运算符
  6. 三元运算符
  7. 身份运算符
  8. 成员运算符

算术运算符:用于数学计算

赋值运算符:完成变量的赋值

关系运算符:判断两个操作数之间的关系

逻辑运算符:

位运算符:把数字转换为二进制进行计算

运算符:

注意:位运算符号的操作是将数值对应的二进制+1之后乘以-1

三元运算符

成员运算符:判断值是否在序列中

in           not in

身份运算符:比较两个对象的内存地址

is            is not

代码缩进:

python中没有象征命令结束的标识符(java中的 ; 号),以及表示作用域的控制符号(Java中的 { } 号)。而是使用缩进(tab/空格 )来进行替代

2.17 python控制语句

顺序、分支和循环语句

拿到钱的小王出去买菜了。他老婆说:“honey啊,到了菜市场如果你看了西瓜的话就买一个,否则你就买个冬瓜。还有,我想吃鸭脖,买不到的话你就不要回来了哦!”

问题:

小王一定会买到西瓜吗?

if判断语句

语法:

if 判断条件:

       执行语句

else:

       执行语句

------------------------------

if 判断条件:

       执行语句

elif 判断条件:

       执行语句

-------------------------------

if 判断条件:

       if 判断条件:

              if 判断条件:

循环语句

买不到鸭脖,小王就不能回家啦。如果你是小王会怎么做?

方案一:

定位到所有的菜市场,依次跑一边,看有没有鸭脖

方案二:

明确结果:一定要买到鸭脖。购买的地方无所谓

方案一和二有什么区别?

方案一中,小王跑完了几个菜市场之后就没有地方可以去了,那就注定了菜市场没有的话他就没法回家了

方案二,则相对较好,只关心买到鸭脖,所以小王可以选择任意地点去购买,而不用受限于菜市场的个数

for循环

语法:

for 变量 in 迭代对象:

       循环体

while循环

语法:

while 判断条件:

       循环体

[else:

执行语句]

range函数:

语法:

range(起始值,截止值,步长),返回值是一个形式列表

小王一家家的将每个超市都跑一遍,效率太低了。他想了个办法,到超市之后呢,就直接问下工作人员,如果对方说没有的话,那他就不进去了,直接跑下一家。

小王在没有买到鸭脖的情况下,如何才能回家呢?

答案就是他老婆允许他没买到的情况下直接回家!

break语句:

        用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句。break语句用在while和for循环中。

        如果使用嵌套循环,break语句将停止执行最深层的循环,并开始执行下一行代码。

continue 语句:

       用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。

        continue语句用在while和for循环中。

循环嵌套:

在循环体内再写一个循环体

语法:

for 变量名 in 范围:

       for 变量名 in 范围:

              循环体

while 判断条件:

       while 判断条件:

              循环体

end参数,实现print函数输出内容后显示的内容,

语法:

end = ‘希望显示的内容’

如果不希望print函数输出后换行直接将end参数设置为空值即可:end=’’

小练习1

打印一个三角形  9*9

答案:

方法一:

>>> for i in range(1,10):

...     print('*' * i)

方法二:

row = 1

while row <= 9:

     col = 1

     while coe <= row:

         print(‘*’, end=’’)

         col += 1

     print()

     row += 1

方法三:

for row in range(1,10):
   
for col in range(1, row+1):
       
print('*', end='')
   
print()

课堂练习2:

打印一个九九乘法表

分析每一个乘法式子能得出一个结论:

列数 * 行数 = 值

答案:

for row in range(1,10):
   
for col in range(1, row+1):
       
print('%d * %d = %d' % (col, row, col*row), end='\t')
   
print()

pass语句:

占位符,是一个空语句,表示此处不用执行任何内容,但是需要预留出内存的位置。即 占座

如果对您有帮助,请打赏则个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值