python学习笔记(一)

python简介

Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。

  1. Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。
  2. Python 是交互式语言: 这意味着,您可以在一个 Python 提示符 >>> 后直接执行代码。
  3. Python 是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。
  4. Python 是初学者的语言:Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏。

python基础语法

标识符

  1. 由数字,字母,下划线组成。
  2. 数字不能在开头。
  3. 不能含有空格,@&等字符。
  4. 不能为python保留字符。

以下划线开头的标识符是有特殊意义的。以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入。

以双下划线开头的 __foo 代表类的私有成员,以双下划线开头和结尾的 foo 代表 Python 里特殊方法专用的标识,如 init() 代表类的构造函数。

python保留字符

andexecnotassertfinallyorbreakfor
passclassfromprintcontinueglobalraisedef
ifreturndelimporttryelifinwhile
elseiswithexceptlambdayield

多行语句

Python语句中一般以新行作为语句的结束符。我们可以使用斜杠( \)将一行的语句分为多行显示,如下所示

#字符串的3种声明方式
str1='123'
str2="456"
str3='''7890'''
str11=str1+str2#单行表示
#多行表示
str22=str1+ \
    str2+ \
    str3
print(str11)#输出123456
print(str22)#输出1234567890

运算符

// 整除 3//2=1
/ 带小数的除法 3/2=1.5
% 取余
** 表示次方 2**3=8
‘*’ 数字数字表示乘法,字符串和数字表示字符串重复
++ python中不存在
运算符优先级

**指数 (最高优先级)
~ + -按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* / % //乘,除,取模和取整除
+ -加法减法
>> <<右移,左移运算符
&位 ‘AND’
^
<= < > >=比较运算符
<> == !=等于运算符
= %= /= //= -= += *= **=赋值运算符
is is not身份运算符
in not in成员运算符
not and or逻辑运算符
优先级:not>and>or

同一行显示多条语句

Python可以在同一行中使用多条语句,语句之间使用分号(;)分割。

注释

python中单行注释采用 # 开头。
python 中多行注释使用三个单引号 ‘’’ 或三个双引号 “”"。

print 输出

print 默认输出是换行的,如果要实现不换行需要加上end=" "

str1='123'
str2="456"
print(str1);print(str2)
print(str1,end=' ');print(str2),
print (str1,str2)

输出如下:

123
456
123 456
123 456

python变量类型

Python 中的变量赋值不需要类型声明。每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
等号 = 用来给变量赋值。
等号 = 运算符左边是一个变量名,等号 = 运算符右边是存储在变量中的值。
python有六大数字类型,分别是:

  • Number数值类型
  • String字符串类型
  • List列表类型
  • Tuple元组类型
  • Dict字典类型
  • Set集合类型
    Dict List Set 可变 Number String Tuple 不可变
    列表 元组是有序的 集合,字典是无序的

Number数值类型

定义:


counter = 100 # 赋值整型变量
miles = 1000.0 # 浮点型
name = "John" # 字符串
#python同时为多个变量赋值,例如
a = b = c = 1
#为多个对象指定多个变量。例如:
a, b, c = 1, 2, "john"

数字数据类型用于存储数值。

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

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

var1 = 1
var2 = 10

也可以使用del语句删除一些对象的引用。

del var1[,var2[,var3[....,varN]]]

您可以通过使用del语句删除单个或多个对象的引用。例如:

del var
del var_a, var_b

String字符串类型

定义:

str1='X' str2="XX" str3='''XXX'''

python的字串列表有2种取值顺序:
从左到右索引默认0开始的,最大范围是字符串长度少1
从右到左索引默认-1开始的,最大范围是字符串开头
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-swYeYFJ2-1657004124203)(vx_images/241061916247129.png)]

字符串截取:使用 [头下标:尾下标] 来截取相应的字符串,其中下标是从 0 开始算起,可以是正数或负数,下标可以为空表示取到头或尾。

str = 'Hello World!'
print(str)# 输出完整字符串
print(str[0]) # 输出字符串中的第一个字符
print(str[2:5])# 输出字符串中第三个至第六个之间的字符串
print(str[2:]) # 输出从第三个字符开始的字符串
print(str * 2 )# 输出字符串两次
print(str + "TEST" ) # 输出连接的字符串

输出结果:

Hello World!
H
llo
llo World!
Hello World!Hello World!
Hello World!TEST

List列表类型

定义:

list = ['runoob', 786, 2.23, 'john', 70.2]

List(列表) 是 Python 中使用最频繁的数据类型。列表用 [ ] 标识。
列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(即嵌套)。

列表截取:列表中值的切割也可以用到变量 [头下标:尾下标] ,就可以截取相应的列表,从左到右索引默认 0 开始,从右到左索引默认 -1 开始,下标可以为空表示取到头或尾。

list = ['runoob', 786, 2.23, 'john', 70.2]
tinylist = [123, 'john']

print(list)# 输出完整列表
print(list[0])  # 输出列表的第一个元素
print(list[1:3])  # 输出第二个至第三个元素
print(list[2:]) # 输出从第三个开始至列表末尾的所有元素
print(tinylist * 2)  # 输出列表两次
print(list + tinylist)  # 打印组合的列表

输出结果

['runoob', 786, 2.23, 'john', 70.2]
runoob
[786, 2.23]
[2.23, 'john', 70.2]
[123, 'john', 123, 'john']
['runoob', 786, 2.23, 'john', 70.2, 123, 'john']

Tuple元组类型

定义:

tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 )

元组是另一个数据类型,类似于 List(列表)。
元组用 () 标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。

例子:

tuple = ('runoob', 786, 2.23, 'john', 70.2)
tinytuple = (123, 'john')

print(tuple)  # 输出完整元组
print(tuple[0]) # 输出元组的第一个元素
print(tuple[1:3]) # 输出第二个至第四个(不包含)的元素
print(tuple[2:]) # 输出从第三个开始至列表末尾的所有元素
print(tinytuple * 2 ) # 输出元组两次
print(tuple + tinytuple)# 打印组合的元组

输出结果:

('runoob', 786, 2.23, 'john', 70.2)
runoob
(786, 2.23)
(2.23, 'john', 70.2)
(123, 'john', 123, 'john')
('runoob', 786, 2.23, 'john', 70.2, 123, 'john')

Dict字典类型

定义:

tinydict = {'name': 'runoob','code':6734, 'dept': 'sales'}
#读取
print(tinydict['name'])#runoob
print(tinydict.get('code'))#6734

字典是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象集合,字典是无序的对象集合。
两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

字典用"{ }"标识。字典由键(key)和它对应的值value组成。
键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。

例子:

dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"
tinydict = {'name': 'runoob', 'code': 6734, 'dept': 'sales'}

#读取

print(dict['one'])  # 输出键为'one' 的值 This is one
print(dict.get('one'))  # 输出键为'one' 的值 This is one
print(dict[2])# 输出键为 2 的值 This is two

print(tinydict)  # 输出完整的字典 {'name': 'runoob', 'code': 6734, 'dept': 'sales'}
print(tinydict.keys())  # 输出所有键 dict_keys(['name', 'code', 'dept'])
print(tinydict.values())  # 输出所有值 dict_values(['runoob', 6734, 'sales'])

#修改,已有键更新值,没有的话就新增键
tinydict['name']='lisi'
tinydict['age']='18'
print(tinydict)#{'name': 'lisi', 'code': 6734, 'dept': 'sales', 'age': '18'}

tinydict.update({'name':'lisi','sex':'1'})
print(tinydict)#{'name': 'lisi', 'code': 6734, 'dept': 'sales', 'age': '18', 'sex': '1'}
#删除
del tinydict#删除整个字典
del tinydict['name']#删除键值为name的键值对

Set集合类型

集合不重复而且无序
定义:

#创建
a_set={1,2,3,"aaa",3.1}
#删除
a_set.remove(2) #{1, 3, 3.1, 'aaa'} 删除元素2
#添加
a_set.add(4)#{1, 3.1, 3, 4, 'aaa'} 添加元素4
a_set.add(3)#{1, 3, 3.1, 4, 'aaa'} 集合会自动去重
print(a_set)

集合的交,并,补

a_set={1,2,3,"aaa",3.1}
b_set={3,"aaa","bbb",9,8}

print(a_set&b_set)#取交集
print(a_set|b_set)#取并集
print(a_set-b_set)#取并集

输出结果:

{'aaa', 3}
{1, 2, 3, 3.1, 8, 9, 'aaa', 'bbb'}
{1, 2, 3.1}

python语句

分支结构

基本形式:

if 判断条件:
    执行语句……
else:
    执行语句……

由于 python 并不支持 switch 语句,所以多个条件判断,只能用 elif 来实现
判断条件为多个值时:

if 判断条件1:
    执行语句1……
elif 判断条件2:
    执行语句2……
elif 判断条件3:
    执行语句3……
else:
    执行语句4……

简单语句组:

条件成立时执行的语句 if condiction else 条件不成立时执行的语句

循环结构

continue 用于跳过该次循环,break 则是用于退出循环

while循环

基本形式:

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

循环使用 else 语句:
while … else 在循环条件为 false 时执行 else 语句块:

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

简单语句组
类似 if 语句的语法,如果你的 while 循环体中只有一条语句,你可以将该语句与while写在同一行中

while (flag): print 'Given flag is really true!'

for循环

for循环可以遍历任何序列的项目,如一个列表或者一个字符串
基本形式:

for 变量 in 可迭代对象:
   statements(s)

例子:

for letter in 'Python':  # 第一个实例
    print("当前字母:" ,letter)

fruits = ['banana', 'apple', 'mango']
for fruit in fruits:  # 第二个实例
    print('当前水果:',fruit)

输出结果:

当前字母: P
当前字母: y
当前字母: t
当前字母: h
当前字母: o
当前字母: n
当前水果: banana
当前水果: apple
当前水果: mango

通过序列索引:
range(stop) 取值为 [0,stop)
range(start,stop) 取值为[start,stop)
range(start,stop,step) 取值为[start,start+step1,start+step2,…)

for a in range(3):
    print(a,end=" ")#0 1 2
print()

for b in range(1,3):
    print(b,end=" ")#1 2
print()

for c in range(1,5,2):
    print(c,end=" ")#1 3

循环使用 else 语句
for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。

for num in range(10,16):  # 迭代 10 到 16 之间的数字
   for i in range(2,num): # 根据因子迭代
      if num%i == 0:      # 确定第一个因子
         j=num/i          # 计算第二个因子
         print ('%d 等于 %d * %d' % (num,i,j))
         break            # 跳出当前循环
   else:                  # 循环的 else 部分
      print ('%d 是一个质数' % num)

输出结果:

10 等于 2 * 5
11 是一个质数
12 等于 2 * 6
13 是一个质数
14 等于 2 * 7
15 等于 3 * 5
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

时兮ゎ、

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

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

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

打赏作者

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

抵扣说明:

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

余额充值