Python的通用之美

**

Python的基础入门

🎂🎂🎂🎂🎂🎂🎂🎂🎂
*

1、“Python之禅”

在 Python 终端会话中执行命令 import this
Python社区理念

Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!

1.1 Python代码注释

✌ 在Python中,注释用井号(#)标识。井号后面的内容都会被Python解释器忽略,如下所示:

 # print("hello China")
  print("hello world")
hello world

Python解释器将忽略第1行,只执行第2行。

👏👏

选择你编写的两个程序,在每个程序中都至少添加一条注释。如 果程序太简单,实在没有什么需要说明的,就在程序文件开头加上你的姓名和当前日期,再用一句话阐述程序的功能。

1.2 Python的运算符

Python中运算符分为:

1、算术运算符:主要用于两个对象算数计算(加减乘除等运算)
2、比较(关系)运算符:用于两个对象比较(判断是否相等、大于等运算)
3、赋值运算符:用于对象的赋值,将运算符右边的值(或计算结果)赋给运算符左边。
4、逻辑运算符:用于逻辑运算(与或非等)。
5、位运算符: 对Python对象进行按照存储的bit操作。
6、成员运算符:判断一个对象是否包含另一个对象。
7、身份运算符:判断是不是引用自一个对象。
👀👀👀
以下表格列出了从最高到最低优先级的所有运算符:

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

1.3 Python is同一性运算符和==相等运算符区别

🤞🤞Python中对象包含的三个基本要素,分别是:id(身份标识)、python type()(数据类型)和value(值)。
👌👌is和==都是对对象进行比较判断作用的,但对对象比较判断的内容并不相同。
==是python标准操作符中的比较操作符,用来比较判断两个对象的value(值)是否相等,例如下面两个字符串间的比较:

>>> a = 'iplaypython.com'
>>> b = 'iplaypython.com'
>>> a == b
True

🤦‍♂️🤦‍♂️🤦‍♂️is也被叫做同一性运算符,这个运算符比较判断的是对象间的唯一身份标识,也就是id是否相同。

>>>x=y=[1,2,3]
>>>z=[1,2,3]
>>>print(x!=y)
False
>>>print(x!=z)
False
>>>print(x is not y)
False
>>>print(x is not z)
True
>>>print (id(x))
>>>print (id(y))
>>>print (id(z))
2581411816008
2581411816008
2581411816072

前三个例子都是False,x、y和z的值是相同的,所以前两个是False没有问题。至于最后一个为什么是True,看看三个对象的id分别是什么就会明白了。
🌹🌹🌹***==比较操作符:用来比较两个对象是否相等,value做为判断因素;
is同一性运算符:比较判断两个对象是否相同,id做为判断因素。***
✔✔✔同理,is、==与is not、!=类似。

1.3 Python的数据类型及转换

1.3.1 Python的数据类型🐱‍🐉🐱‍🐉🐱‍🐉
  1. 数字类型
    Python数字类型主要包括int(整型)、long(长整型zhi)和float(浮点型)。
  2. 字符串
    在Python中,加了引号的字符都被认为是字符串,其声明有三种方式,分别是:单引号、双引号和三引号;Python中的字符串有两种数据类型,分别是str类型和unicode类型,str类型采用的ASCII编码,无法表示中文,unicode类型采用unicode编码,能够表示任意字符,包括中文和其他语言。
  3. 布尔型
    和其他编程语言一样,Python布尔类型也是用于逻辑运算,有两个值:True(真)和False(假)。
  4. 列表
    列表是Python中使用最频繁的数据类型,集合中可以放任何数据类型,可对集合进行创建、查找、切片、增加、修改、删除、循环和排序操作。
  5. 元组
    元组和列表一样,也是一种序列,与列表不同的是,元组是不可修改的,元组用”()”标识,内部元素用逗号隔开。
  6. 字典
    字典是一种键值对的集合,是除列表以外Python之中最灵活的内置数据结构类型,列表是有序的对象集合,字典是无序的对象集合。
  7. 集合
    集合是一个无序的、不重复的数据组合,它的主要作用有两个,分别是去重和关系测试。
1.3.2 Python的数据类型转换
函数描述
int(x [,base])将x转换为一个整数
long(x [,base] )将x转换为一个长整数
float(x)将x转换到一个浮点数
complex(real [,imag])创建一个复数
str(x)将对象 x 转换为字符串
repr(x)将对象 x 转换为表达式字符串
eval(str)用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s)将序列 s 转换为一个元组
list(s)将序列 s 转换为一个列表
set(s)转换为可变集合
frozenset(s)转换为不可变集合
chr(x)将一个整数转换为一个字符
unichr(x)将一个整数转换为Unicode字符
ord(x)将一个字符转换为它的整数值
hex(x)将一个整数转换为一个十六进制字符串
oct(x)将一个整数转换为一个八进制字符串

1.3 Python习题

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
🐱‍🚀🐱‍👓🐱‍👓对于题目中寻找出现一次的元素,则采用异或^位运算。在异或位运算中,对于相同元素的异或则为0,因为异或运算满足交换律,将数组中的元素依次全部异或,采用交换律则将相同的元素异或配对,导致相同的元素的异或值为0,最终结果只剩下孤独的为由配偶的的元素数值。

>>>x=[2,2,1]
>>>y=[4,1,2,1,2]
>>>valve=0
>>>res=0
>>>for item in x:
    valve^=item
>>>for item in y:
    res^=item
>>>print(valve)
>>>print(res)

1
4

参考

【1】.《Python编程入门》
【2】.https://www.iplaypy.com/jinjie/is.html
【3】.https://blog.csdn.net/william_hehe/article/details/85005630
【4】.《Python编程:从入门到实践》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值