1.第一个python程序 print(‘Hello World’)
2.计算机的硬件系统通常由五大部件构成,包括:运算器、控制器、存储器、输入设备和输出设备。
3.变量和类型:
(1)整型:Python中可以处理任意大小的整数(Python 2.x中有int和long两种类型的整数,但这种区分对Python来说意义不大,因此在Python 3.x中整数只有int这一种了)
(2)浮点型:浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,浮点数除了数学写法(如123.456)之外还支持科学计数法。
(3)字符串型:字符串是以单引号或双引号括起来的任意文本。
(4)布尔型:布尔型:布尔值只有True、False两种值,要么是True,要么是False,在Python中,可以直接用True、False表示布尔值(请注意大小写),也可以通过布尔运算计算出来(例如3 < 5会产生布尔值True,而2 == 1会产生布尔值False)。
(5)复数型:形如3+5j(不常用)。
4.变量命名:
(一)硬性规则:
(1) 变量名由字母(广义的Unicode字符,不包括特殊字符)、数字和下划线构成,数字不能开头。
(2)大小写敏感(大写的a和小写的A是两个不同的变量)。
(3)不要跟关键字(有特殊含义的单词,后面会讲到)和系统保留字(如函数、模块等的名字)冲突。
(二)PEP 8要求:
(1)用小写字母拼写,多个单词用下划线连接。
(2)受保护的实例属性用单个下划线开头。
(3)私有的实例属性用两个下划线开头。
(4)逢冒必缩(用tab键,一个冒号四个空格)
5.变量的使用:
#例1:使用input函数输入 使用int()进行类型转换,float 用占位符格式化输出的字符串
a = int(input('a = '))
b = int(input('b = '))
print('%d + %d = %d' % (a, b, a + b))
print('%d - %d = %d' % (a, b, a - b))
print('%d * %d = %d' % (a, b, a * b))
print('%d / %d = %f' % (a, b, a / b))
print('%d // %d = %d' % (a, b, a // b))
print('%d %% %d = %d' % (a, b, a % b # 打印百分号
print('%d ** %d = %d' % (a, b, a ** 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))
6.在对变量类型进行转换时可以使用Python的内置函数(准确的说下面列出的并不是真正意义上的函数,而是后面我们要讲到的创建对象的构造方法)。
(1)int():将一个数值或字符串转换成整数,可以指定进制。
(2)float():将一个字符串转换成浮点数。
(3)str():将指定的对象转换成字符串形式,可以指定编码。
(4)chr():将整数转换成该编码对应的字符串(一个字符)。
(5)ord():将字符串(一个字符)转换成对应的编码(整数)。
例2:需求: 将输入的邮箱进行加密使用ASCII.
for i in a:
print(i)
ord()
chr()
进阶:python使用md5.
email = input('Input your email:')
for j in email:
ord_ = ord(j)
ord_1 = ord_ + 10
str_ = chr(ord_1)
print(str_,end=""
7.运算符:
(1)[] [:] : 下标,切片,前闭后开的一个区间
(2)** : 指数
(3)~ + - :按位取反, 正负号
(4)* / % //:乘,除,模,整除
(5)+ -:加,减
(6)>> <<:右移,左移
(7)&:按位与
(8)^ |:按位异或,按位或
(9)<= < > >=:小于等于,小于,大于,大于等于
(10)== !=:等于,不等于
(11)is is not:身份运算符
(12)in not in:成员运算符
(13)not or and:逻辑运算符
(14)= += -= *= /= %= //= **= &= |= ^= >>= <<=:(复合)赋值运算符
8.练习1:水仙花
Number = input('number:>>')
if len(Number) > 3:
print('[!] Error, The lenghts must be Three!!')
else:
bai = int(Number[0])
shi = int(Number[1])
ge = int(Number[2])
if bai ** 3 + shi **3 + ge **3 == int(Number):
print('水仙花')
else:
print('不是')
9.分支结构:比如我们设计一个游戏,游戏第一关的通关条件是玩家获得1000分,那么在完成本局游戏后我们要根据玩家得到分数来决定究竟是进入第二关还是告诉玩家“Game Over”
练习2:猜数字:第一关总共10轮,每一个100分. 由电脑随机产生两个数字,让用户输入这两个数字的和. 最后看是进入第二关还是’Game Over’
import random
count = 0
for i in range(10):
num1 = random.randint(0,5)
num2 = random.randint(0,5)
num = int(input('>>'))
if num1 + num2 == num:
print('恭喜获得100分')
count += 100
else:
print('嗷,答错了')
if count == 1000:
print('开始第二关')
else:
print('Game Over.')
练习3:石头剪子布:
import random
import numpy as np
#res = np.random.choice(['石头','✂️','??♀️'])
print(res)
import os
#pywin32
C_res = random.randint(0,2)
U_res = int(input('0:石头,1:剪刀,2:布'))
if C_res == U_res:
print('平局')
else:
if C_res == 0 and U_res == 1:
print('电脑赢了 ?')
#os.system('say you loser.')
elif C_res == 1 and U_res == 2:
print('电脑赢了 ?')
# os.system('say you loser.')
elif C_res == 2 and U_res == 0:
print('电脑赢了 ?')
# os.system('say you loser.')
else:
print('你赢了 ?')
# os.system('say yo
u winer.')
练习4:
web_1='<li class="bold-item"><a href="http://baijiahao.baidu.com/s?id=1641806920856311184" target="_blank" mon="a=9">蔡崇信共23.5亿全资收购篮网</a></li>'
web_2='<li><a href="http://baijiahao.baidu.com/s?id=1641801134242707690" target="_blank" mon="a=9">美国禁止部分苹果MacBook Pro登机</a></li>'
web_3='<li><a href="http://baijiahao.baidu.com/s?id=1641804985134705772" target="_blank" mon="a=9">高通董事会任命马克·麦克劳克林为董事长</a></li>'
web_4='<li><a href="http://baijiahao.baidu.com/s?id=1641795161667151424" target="_blank" mon="a=9">硅谷巨头将参加美政府听证会 反对数字税</a></li>'
web_5='<li><a href="http://baijiahao.baidu.com/s?id=1641759706552362036" target="_blank" mon="a=9">5G手机“铺货” 用户却仍在观望</a></li>'
import re
web_11 = re.findall('<a href="(.*?)"',web_1)
print(web_11)
web_22 = re.findall('<a href="(.*?)"',web_2)
print(web_22)
web_33 = re.findall('<a href="(.*?)"',web_3)
print(web_33)
web_44 = re.findall('<a href="(.*?)"',web_4)
print(web_44)
web_55 = re.findall('<a href="(.*?)"',web_5)
print(web_55)