学习Python的第二节课

学习Python的第二节课

1、python编码格式

(1)介绍编码方式种类

美国设计的ASCII编码、中国的GBK编码为例,阐述编码的概念。并通过不同编码格式之间的对比引出unicode编码方式。

(2)编码之间的转换

举例说明不同编码之间的转换方式。文本文件编辑后重新保存。在这个过程中编码格式的转换。

(3)指定编码

在源代码文件的第一行指定编码格式。

2、变量、常量和关键字

通过对标识符定义的理解,学会命名标识符。

(1)变量
推荐使用具有固定含义的英文单词或缩写,srv=serve,skt=socket,一般以posix命名规则为主
驼峰命名法
名称以单词自动连接,且每个单词首字母大写
(1)大驼峰,每个单词第一个字母大写
在Python中给类命名使用此法
(2)小驼峰,类似大驼峰,但第一个字母小写
在Python中一般给浦东变量或函数命名
(3)posix写法
多个单词用下划线连接
单词全部小写
保留字和关键字
变量名必须避开,不能跟关键字和保留字重复。如class,def,break等。
查看保留字和关键字
(4)
也可以用中文命名,但是一般来说不提倡
注:Python中赋值之前不需要提前声明,直接对其赋值便可,Python不用去声明函数的返回类型,
是由于其“若类型”的语言特性决定的。python是一种解释型语言,当你定义了一个变量时,解释器
自动完成对变量内存的分配,不需要我们自己去定义类型。
(2)关键字

关键字是特殊的标识符。使用keyword模块中的kwlist属性来查看python关键字。

```python
import keyword
keyword.kwlist
```
['False','None','True','and','as','assert','async','await','break','class','continue','def',
'del','elif','else','except','finally','for','from','global','if','import', 'in', 'is', 'lambda', 'nonlocal', 
'not', 'or', 'pass','raise','return','try','while','with','yield']

(3)常量

Python并未提供如C/C++/Java一样的const修饰符,换言之,python中没有常量,python程序一
般通过约定俗成的变量名全大写的形式表示这是一个常量。然而这种方式并没有真正实现常量,
其对应的值仍然可以被改变。后来,python提供了新的方法实现常量:即通过自定义类实现常量。
这要求符合“命名全部为大写”和“值一旦被绑定便不可再修改”这两个条件。

3、数值类型

Python数值类型主要包括:整型、浮点型、复数、布尔类型。 

(1)整数类型int 

(2)浮点数类型float 

(3)复数类型

(4)布尔类型bool 

4、不同数值类型之间的转换

通过一些BIF(built in functions)来转换:

int()  转换为整数,默认十进制 

bin()   oct()   hex()    二进制转换、八进制转换、16进制转换

float()  整数转换为浮点型

complex() 转换为复数    

5、获取关于数据类型的函数

type(变量名):查看对象的类型;

isinstance( 实例对象,类):判断对象是否是为指定类型的实例。

6、运算符

(1)运算符及表达式

表达式由运算符(*、/等)和操作数组成的序列,操作数可以是基本类型或自定义类型的变量、常量。
表达式中包含运算符,例如:1*2+3表达式中的(+)和(*)就是运算符。 

算术运算符:由算术运算符和算术对象组成的序列,称作算术表达式。 

赋值运算符:用来将表达式的结果赋给变量。 由赋值运算符和赋值运算对象组成的序列,称作赋值表达式。 

复合运算符:由加、减、乘、除、求余等组合在一起的运算表达式。

(2)其它运算符及优先级

关系运算符及关系表达式 :用来比较两个对象之间的关系,可以是数值、字符串、表达式等。 由关系运算符和比较对象组成的序列,称作关系表达式。 

逻辑运算符及逻辑表达式:用来判断逻辑运算对象之间的关系。 由逻辑运算符和逻辑运算对象组成的序列,称作逻辑表达式。

成员运算符及成员运算表达式:用来判断两个对象之间的关系。 由成员运算符和成员运算对象组成的序列,称作成员运算表达式。 

身份运算符及身份运算表达式 :用来比较两个对象之间的存储单元。 由身份运算符和身份运算对象组成的序列,称作身份运算表达式。 

位运算符及位运算表达式 :将两个运算对象按照二进制进行位运算。 由位运算符和位运算对象组成的序列,称作位运算表达式。

(3)优先级

运算符的优先级:表达式是有优先级的,例如表达式:“0 * 1 + 2”和“0 + 1 * 2”结果一定不一样,在“0 + 1 * 2”中优先运算“1 * 2”。

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

7、作业

  1. 区分有效和无效的变量名。
_stiei1 有效
Stiei shanghai无效
1shanghai无效
&string888无效
true有效
True无效
And有效
import无效
  1. 视频中介绍的查找变量类型两个函数 type() 和 isinstance() ,有什么区别呢?
type()是可以直接判断出括号内部的变量类型,而isinstance()是判断一个变量是否为什么类型,返回的是True和False
  1. 使用 int() 将小数转换为整数采用向下取整,你有什么办法使得 int() 按照“四舍五入”的方式取整呢?
x=float(input("请输入数字:"))
if x-int(x)>=0.5:
x=int(x)+1 
else:
x=int(x) 
print("四舍五入后的数字为:",x)

或者可以再简单点

x=int(float(input("请输入数字:"))+0.5)
print("四舍五入后的数字为:",x)
  1. 将如下代码敲出来在 Jupyter notebook 中运行,每一行后面添加注释解释这一行语句的用途。计算 123 的逆序数字,即转换为 321。
>>>a = 123
>>>x = a//100
>>>y = a//10%10
>>>z = a%10
>>>b = z*100+y*10+x
>>>print(b)
321

这个就是注释代码而已

a = 123 #将123赋值给a
x = a//100 #a通过地板除除以100等于1.23,再取整后得到1赋值给x
y = a//10%10 #a先通过地板除除以10得到12.3再取整后得到12,再通过10求余得到2,最后再赋值给y
z = a%10 #a对10求余得到3,再赋值给z
b = z*100+y*10+x #z为3乘上100,加上y为2乘上10,加上x为1
print(b) #输出b的值为321
  1. 计算如下表达式的值
not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8
1 and 'a' and ''
1 or 10 or ''

第一行代码最后得到的值是4(我自己计算得到的是8,现在还不明白,目标后再后来补充)

not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8

第二行的值是’ ’

1 and 'a' and ''

第三行的值是1

1 or 10 or ''
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值