python语法简洁清晰、特色之一是强制用作为语句缩进_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

20180110231511668580.png

- 文件模板

设置固定开头文件模板 避免新建文件反复输入

20180110231511670533.png

- 改变大小

20180110231511681276.png

设置文件编辑器的文字大小(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)

importgetpass

name= input(‘请输入名字:‘)

pwd= getpass.getpass(‘请输入密码:‘)if name == ‘alex‘ and pwd == ‘sb‘:print(‘~欢迎登录~‘)else:print(‘滚蛋‘)

20180110231511694948.png

十. 条件判断

a. 单条件语句

if 条件:

成功走这里

else:

失败走这里

如果if语句判断为Ture,就会执行它下面的字代码,否则执行else下面的代码。当然后面的else也不是必须加的,如果不加else的话,if条件判断为False的话,它就什么也不做。

应用代码如下:

335b83df261c422459d4afc29ba290e5.png

d1b641f023dd079c9e4a800b96607d9d.gif

1 importgetpass2

3 name = input("请输入姓名:")4 pwd = getpass.getpass(‘请输入密码:‘)5 if name == ‘alex‘ and pwd == ‘sb‘:6 print(‘欢迎登陆‘)7 else:8 print(‘滚蛋‘)

if...else

if条件成功,打印 “欢迎登陆” ;

if条件失败,执行else下的代码,打印 “滚蛋” 。

b. 多条件语句

if 条件:

...

elif 条件:

...

else:

...

335b83df261c422459d4afc29ba290e5.png

d1b641f023dd079c9e4a800b96607d9d.gif

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‘)

if...elif...elif...else

十 一. 循环语句

while 条件:

continue # 立即开始下次循环

break # 跳出所有循环

应用代码如下:

335b83df261c422459d4afc29ba290e5.png

d1b641f023dd079c9e4a800b96607d9d.gif

1 i = 1

2 whileTrue:3 if i == 7:4 i = i + 1

5 continue #开始下一次循环

6 print(i)7 i = i + 1

8 if i == 11:9 break #跳出所有的循环

while打印1,2,3,4,5,6, 8,9,10

十二.运算符

a. 算数运算20180110231511708620.png

b. 比较运算

20180110231511721316.png

c. 赋值运算

20180110231511734012.png

d. 逻辑运算

20180110231511747684.png

e. 成员运算

20180110231511760380.png

十三.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

335b83df261c422459d4afc29ba290e5.png

d1b641f023dd079c9e4a800b96607d9d.gif

1 a =02 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 False13 True14 True

Bool

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)

335b83df261c422459d4afc29ba290e5.png

d1b641f023dd079c9e4a800b96607d9d.gif

1 val = input(‘>>>‘)2 i =03 while i

6

7

8 #输入 >>>yang

9 #打印结果

10 y11 a12 n13 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值