Python--day01
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python--day01相关的知识,希望对你有一定的参考价值。
一. Python介绍
- 一种面向对象的解释型计算机程序设计高级语言,由荷兰人 Guido van Rossum于1989年发明;
- Python语法简洁清晰,特色之一是强制用空白符作为语句缩进。
二. Python和其他语言对比
- C语言: 是最快的编程语言,它比其他语言少了一步机器码; 代码 -> 字节码 -> 计算机生成;
- 其他高级语言:代码 -> 字节码 -> 机器码 -> 计算机生成;
- python语言简洁 、代码少。
三. Python种类
- CPython : 代码 -> C字节码 -> 机器码 (一行一行执行)
- pypy: 代码 -> C字节码 -> 机器码 (全部转换完执行)
- 其他Python:代码 -> 其他字节码 -> 机器码
四. Python基础
Python规则
1. 安装: python解释器
2. 写程序
C:\\Python35\\python.exe D:\\1.txt
# a. 打开文件,读取文件内容 (文件后缀没有固定格式)
# b. 词法分析,语法分析
# c. 字节
3.程序开始
#!/usr/bin/env python #在文件头部 ( 第一行 ) 加上 设置 Python 解释器
# -*- coding: utf-8 -*- #在文件头部 ( 第二行 ) 加上 在编辑器中设置以 UTF-8 默认编码保存文件
- 潜规则
程序编辑文件以 .py 结尾
- 内容编码
python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill)
ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号。
ASCII : a 00000010
显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode。
Unicode : a 00000000 00000010
Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536
UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...
UTF-8 : 00000010
GBK,gb2312 ,是对ASCII的中文扩展,扩展之后的方案称为GBK标准,GBK包含了gb2312的所有内容,同时又增加了近20000个新的汉字和符号。
gbk , gb2312 :100000000 00000000 00000010
五. 集成开发环境(IDE,Integrated Development Environment )
pycharm
- 使用
1. new project
2. new 创建文件夹
3. new 创建py文件
4. 执行文件,在py文件中右键, run xx.py
- 文件编码
设置pytharm编码统一为utf-8
- 文件模板
设置固定开头文件模板 避免新建文件反复输入
- 改变大小
设置文件编辑器的文字大小(Ctrl + 鼠标滚轮)
六. 注释
单行注释: #
多行注释: """ """
注释快捷键
-Ctrl + ?
#!/user/bin/env/python # -*- coding:utf-8 -*- # print(‘hello1‘) """ print(‘hello2‘) print(‘hello3‘) 刀鱼 """
七. .pyc文件
.pyc文件存储的是介于0101计算机语言和我们写的文件之间的语言。是有python解释器根据我们编写的代码自动生成的文件。
八. 变量的命名
- 字母
- 数字(不能开头)
- 下划线
- 不能使用python内置关键字
定义变量: 一定要遵循一定的命名习惯,让你的变量名称能让别人一眼看出来是干什么用的 如: name = ‘Alex‘ , age = 29 , user_type = ‘管理员’
九. 输入,输出
输入的两种方式:
1. 显示输入内容 v = input(">>>")
2. 隐藏输入内容 import getpass
v = getpass.getpass(‘>>>‘)
输出打印:
使用 print(v)
import getpass name = input(‘请输入名字:‘) pwd = getpass.getpass(‘请输入密码:‘) if name == ‘alex‘ and pwd == ‘sb‘: print(‘~欢迎登录~‘) else: print(‘滚蛋‘)
十. 条件判断
a. 单条件语句
if 条件:
成功走这里
else:
失败走这里
如果if语句判断为Ture,就会执行它下面的字代码,否则执行else下面的代码。当然后面的else也不是必须加的,如果不加else的话,if条件判断为False的话,它就什么也不做。
应用代码如下:
1 import getpass 2 3 name = input("请输入姓名:") 4 pwd = getpass.getpass(‘请输入密码:‘) 5 if name == ‘alex‘ and pwd == ‘sb‘: 6 print(‘欢迎登陆‘) 7 else: 8 print(‘滚蛋‘)
if条件成功,打印 “欢迎登陆” ;
if条件失败,执行else下的代码,打印 “滚蛋” 。
b. 多条件语句
if 条件:
...
elif 条件:
...
else:
...
1 username = input(‘>>>‘) 2 if username == ‘alex‘: 3 print(‘普通管理‘) 4 elif username == ‘oldboy‘: 5 print(‘超级管理‘) 6 elif username == ‘郭少龙‘: 7 print(‘人‘) 8 elif username == ‘刘一‘: 9 print(‘装逼犯‘) 10 else: 11 print(‘再见...‘) 12 13 print(‘end‘)
十 一. 循环语句
while 条件:
continue # 立即开始下次循环
break # 跳出所有循环
应用代码如下:
1 i = 1 2 while True: 3 if i == 7: 4 i = i + 1 5 continue # 开始下一次循环 6 print(i) 7 i = i + 1 8 if i == 11: 9 break # 跳出所有的循环
十二.运算符
a. 算数运算
b. 比较运算
c. 赋值运算
d. 逻辑运算
e. 成员运算
十三.Python数据类型
a. 整数 int
- 创建
a = 123
a = int(123)
- 转换 (int只能转换数字,不支持字母、中文)
age = "18"
new_age = int(age)
b. 布尔值
- 创建
a = True
b = False
- 转换
数字转换,只有0是False,其他True
字符串, 只有""是False,其他True
1 a = 0 2 b = 1 3 c = -1 4 A = bool(a) 5 B = bool(b) 6 C = bool(c) 7 print(A) 8 print(B) 9 print(C) 10 11 运行结果: 12 False 13 True 14 True
c. 字符串
- 创建
a = "alex"
a = str(‘alex‘)
- 转换 (数字可以转换成字符型)
age = 19
new_age = str(age)
- 字符串的拼接
name = ‘alex‘
gender = ‘女‘
new_str = name + gender
print(new_str)
打印结果:alex女
- 字符串格式化
占位符
name = ‘我叫李杰,性别:%s,我今年%s岁,我在说谎!‘
new_str = name %(‘男‘,19,)
print(new_str)
name = ‘我叫李杰,性别:%s,我今年%s岁,我在说谎!‘ %(‘男‘,19,)
print(name)
打印结果:我叫李杰,性别:男,我今年19岁,我在说谎!
- 判断子序列是否在其中
content = "Alex 前几天去泰国玩姑娘,一不小心染上了病,他的内心活动是,真该多来几个"
if "前几天去" in content:
print(‘包含敏感字符‘)
else:
print(content)
打印结果:包含敏感字符
- 移除空白 (移除中间的目前不会)
val = " alex "
print(val)
new_val = val.strip() # 左右
new_val = val.lstrip()# 左边
new_val = val.rstrip() # 右边
print(new_val)
- 分割
user_info = "alex|sb123|9"
v1 = user_info.split(‘|‘)
v2 = user_info.split(‘|‘,1)
v3 = user_info.rsplit(‘ ‘,1)
print(v1,v2,v3)
打印结果:[‘alex‘, ‘sb123‘, ‘9‘] 以管道符分割
[‘alex‘, ‘sb123|9‘] 默认从最左边开始分割,数字为分割数
[‘alex|sb123‘, ‘9‘] ‘r’split 从右边开始分割
- 长度(字符)
val = "李杰sb"
v = len(val)
print(v)
打印结果:4 ;(每一个字母、汉字、数字均为一个字符)
- 索引
val = "李杰sb"
v = val[0]
print(v)
1 val = input(‘>>>‘) 2 i = 0 3 while i < len(val): 4 print(val[i]) 5 i += 1 6 7 8 #输入 >>>yang 9 #打印结果 10 y 11 a 12 n 13 g
- 切片(默认索引为0)
name = ‘我叫李杰,性别:男,我今年19岁,我在说谎!‘
print(name[0])
print(name[0:2])
print(name[5:9])
print(name[5:])
print(name[5:-2])
print(name[-2:])
打印结果:
我
我叫
性别:男
性别:男,我今年19岁,我在说谎!
性别:男,我今年19岁,我在说
谎!
d. 列表
创建:
a = [‘alex‘,‘狗‘,‘eric‘,123]
a = list([‘alex‘,‘狗‘,‘eric‘,123])
in判断:
a = [‘alex‘,‘狗‘,‘eric‘,123]
if ‘al‘ in a:
打印结果:报错 正确形式为: if ‘al‘ in a[0]: ‘al‘是存在于字符串里
if ‘alex‘ in a:
打印结果:in判断是正确的,‘alex’是以列表元素存在的。
索引:
val = a[0]
同理字符串
长度:
val = len(a)
同理字符串
切片:
a = [‘alex‘,‘狗‘,‘eric‘,123]
v = a[0::2]
print(v)
同理字符串
追加:
a = [‘alex‘,‘狗‘,‘eric‘,123]
a.append(‘xxoo‘)
print(a)
追加在列表末尾
插入:
a = [‘alex‘,‘狗‘,‘eric‘,123]
a.insert(0,‘牛‘)
print(a)
可以按照索引插入某一位置
删除:
a = [‘alex‘,‘eric‘,‘狗‘,‘eric‘,123]
a.remove(‘eric‘) #这里根据值删除
del a[0] #这里根据索引删除
print(a)
更新:
a = [‘alex‘,‘eric‘,‘狗‘,‘eric‘,123]
a[1] = ‘阿斯顿发送到‘
print(a)
找到索引位置修改更新
for循环:
a = [‘alex‘,‘eric‘,‘狗‘,‘eric‘,123]
for item in a:
print(item)
打印结果:
alex
eric
狗
eric
123
e. 字典操作 注意:字典内容是无序的
- 创建
v = {
‘name‘: ‘alex‘,
‘password‘: ‘123123‘
}
常用操作
-索引获取值 n = v[‘name‘]
print(n)
-增加 (无,增加;有,修改)
v[‘age‘] = 19
print(v)
-删除
del v[‘name‘]
print(v)
-循环 不同于列表 字典的元素以键值对存在的
for item in v.keys():
print(item)
for item in v.values():
print(item)
for key,val in v.items():
print(key,val)
-长度
print(len(v))
实例1 :
列表和字典是可以相互无限嵌套的
user_dict = {
‘k1‘: ‘v1‘,
‘k2‘: {‘kk1‘:‘vv1‘,‘kk2‘:‘vv2‘},
‘k3‘: 123,
‘k4‘: [‘alex‘,‘eric‘,[‘a‘,‘b‘,‘c‘],‘李杰‘,{‘k11‘:‘vv1‘}],
}
user_dict[‘k4‘][2].append(‘123‘)
user_dict[‘k4‘][4][‘n‘] = ‘过啥龙‘
实例2 :
多用户登录
user_list = [
{‘name‘:‘alex‘,‘pwd‘:‘123123‘,‘times‘:1},
{‘name‘:‘eric‘,‘pwd‘:‘123123‘,‘times‘:1},
{‘name‘:‘tony‘,‘pwd‘:‘123123‘,‘times‘:1},
]
user = input(‘用户名:‘)
pwd = input(‘密码:‘)
for item in user_list: #item 代表列表中的每一个字典
if user == item[‘name‘] and pwd == item[‘pwd‘]:
print(‘登录成功‘)
break
以上是关于Python--day01的主要内容,如果未能解决你的问题,请参考以下文章