自己的话: 光阴似箭,日月如梭。。。挺好
注释
- 注释:
单行注释:以#和空格开头的部分 #…
多行注释:三个引号开头,三个引号结尾 “”" …"""
语言元素 -变量与类型
1.常用数据类型
- 整型:Python中可以处理任意大小的整数(Python 2.x中有int和long两种类型的整数,但这种区分对Python来说意义不大,因此在Python 3.x中整数只有int这一种了),而且支持二进制(如0b100,换算成十进制是4)、八进制(如0o100,换算成十进制是64)、十进制(100)和十六进制(0x100,换算成十进制是256)的表示法。
- 浮点型:浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,浮点数除了数学写法(如123.456)之外还支持科学计数法(如1.23456e2)。
- 字符串型:字符串是以单引号或双引号括起来的任意文本,比如’hello’和"hello",字符串还有原始字符串表示法、字节字符串表示法、Unicode字符串表示法,而且可以书写成多行的形式(用三个单引号或三个双引号开头,三个单引号或三个双引号结尾)。
- 布尔型:布尔值只有True、False两种值,要么是True,要么是False,在Python中,可以直接用True、False表示布尔值(请注意大小写),也可以通过布尔运算计算出来(例如3 < 5会产生布尔值True,而2 == 1会产生布尔值False)。
- 复数型:形如3+5j。
2.变量命名
- 硬性规则:
- 变量名由字母(广义的Unicode字符,不包括特殊字符)、数字和下划线构成,不能以数字开头。
- 大小写敏感(大写的a和小写的A是两个不同的变量)。
- 不要跟关键字(有特殊含义的单词)和系统保留字(如函数、模块等的名字)冲突。
- PEP 8要求:
- 用小写字母拼写,多个单词用下划线连接。
- 受保护的实例属性用单个下划线开头。
- 私有的实例属性用两个下划线开头。
- 逢冒必缩
命名变量尽量做到见名知意。
3.变量的使用
- 使用input函数输入:
a = int(input('a = '))
b = int(input('b = ')) - 格式化输出:
- % 作为一个连接, %s,%d,%f: 保留小数位%.2f(保留两位小数)
print('%.2f + %.2f = %.2f'%(num1,num2,num1+num2))
- format
print('{} + {} = {}'.format(num1,num2,num1+num2))
保留小数位:
print('{:.2f} + {:.2f} = {}'.format(num1,num2,num1+num2))
- 使用type()检查变量的类型
a = 100
b = 12.345
c = 1 + 5j
d = 'hello, world'
e = True
print(type(a))
print(type(b))
print(type(c))
print(type(d))
print(type(e))
- 对变量类型进行转换
使用Python的内置函数(准确的说下面列出的并不是真正意义上的函数,而是创建对象的构造方法)。
int():将一个数值或字符串转换成整数,可以指定进制。
float():将一个字符串转换成浮点数。
str():将指定的对象转换成字符串形式,可以指定编码。
chr():将整数转换成该编码对应的字符串(一个字符)。
ord():将字符串(一个字符)转换成对应的编码(整数)。
"""
需求: 将输入的邮箱进行加密使用ASCII.
1. for i in a:
print(i)
2. ord()
3. chr()
"""
email = input('Input your email:')
# 34567@123.com
for j in email:
ord_ = ord(j)
ord_1 = ord_ + 10
str_ = chr(ord_1)
print(str_,end="")
4.运算符
运算符 | 描述 |
---|---|
[] [:] | 下标,切片 |
** | 指数 |
~ + - | 按位取反, 正负号 |
* / % // | 乘,除,模,整除 |
+ - | 加,减 |
>> << | 右移,左移 |
& | 按位与 |
^ | | 按位异或,按位或 |
<= < > >= | 小于等于,小于,大于,大于等于 |
== != | 等于,不等于 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not or and | 逻辑运算符 |
= += -= *= /= %= //= **= &= |= ^= >>= <<= | (复合)赋值运算符 |
分支结构 -if语句的使用
在Python中,要构造分支结构可以使用if、elif和else关键字。所谓关键字就是有特殊含义的单词,像if和else就是专门用于构造分支结构的关键字,很显然你不能够使用它作为变量名(事实上,用作其他的标识符也是不可以)。下面的例子中演示了如何构造一个分支结构。
"""
用户身份验证
"""
username = input('请输入用户名: ')
password = input('请输入口令: ')
# 如果希望输入口令时 终端中没有回显 可以使用getpass模块的getpass函数
# import getpass
# password = getpass.getpass('请输入口令: ')
# [ conditions ]
if username == 'admin' and password == '123456':
print('身份验证成功!')
# Other...
else:
print('身份验证失败!')
# 案例,有数字大写字母和小写字母
password = 'A12'
A = 'ZXCVBNMASDFGHJKLQWERTYUIOP'
B ='zxcvbnmasdfghjklqwertyuiop'
C = '1234567890'
count1,count2,count3 = False,False,False
for i in password:
if i in A:
count1 = True
if i in B:
count2 = True
if i in C:
count3 = True
if count1 and count2 and count3:
print('OK')
else:
print('必须含有大写小写和数字')
唯一需要说明的是和C/C++、Java等语言不同,Python中没有用花括号来构造代码块而是使用了缩进的方式来设置代码的层次结构,如果if条件成立的情况下需要执行多条语句,只要保持多条语句具有相同的缩进就可以了,换句话说连续的代码如果又保持了相同的缩进那么它们属于同一个代码块,相当于是一个执行的整体。
以下面这道题举例:
"""
分段函数求值
3x - 5 (x > 1)
f(x) = x + 2 (-1 <= x <= 1)
5x + 3 (x < -1)
"""
x = float(input('x = '))
if x > 1:
y = 3 * x - 5
elif x >= -1:
y = x + 2
else:
y = 5 * x + 3
print('f(%.2f) = %.2f' % (x, y))
也可以用下面这种
x = float(input('x = '))
if x > 1:
y = 3 * x - 5
else:
if x >= -1:
y = x + 2
else:
y = 5 * x + 3
print('f(%.2f) = %.2f' % (x, y))
嵌套结构的嵌套层次多了之后会严重的影响代码的可读性,如果可以使用扁平化的结构就不要去用嵌套,因此之前的写法是更好的做法。