Python语法使用
由于之前学习过js,代码基本上是相同的,先看看和js有那些区别
| 项目 | python | javascript |
|---|---|---|
| 适用版本 | python3 | es6,即ECMAScript 2015 |
| 运行环境 | #!/usr/bin/python # -*- coding: UTF-8 -*- ,第1句指定linux运行环境,第2句指定文件编码 | 'use strict';,使用限制模式,即强制要提前声明变量,否则报错 |
| 大小写 | 要区分大小写 | 同python |
| 语句结尾 | 不需要 | 必须加分号; |
| 单行注释 | 用 # | 用// |
| 多行注释 | 不支持,通常变通为不赋值的多行字符串,即三个引号 ''' | 多行用/* */ |
| 变量声明 | 不需要 | 必须声明,格式为:let i=0; |
| 字符串 | 单双引号都可 | 同python |
| 多行字符串 | 用三引号,''' 或 """ 都可 | 用 ` |
| 转义字符 | 用 \ 表示,如 \ \ 表示\ | 同python |
| 批量不转义 | 用 r' ... '表示,即原样输出,不转换 | 不支持 |
| 16进制数字 | 用0x表示,如0xaf | 同python |
| 16进制字符串 | 用\ x表示,如'\ x41表示A | 同python |
| unicode字符串 | 用\ u表示,如 '\ u4e2d'表示 中 | 同python |
| 取幂 | 用双乘号**,相当于重复xx次,可用于数字和字符串 | 不支持 |
| 取商数 | 用双除号// | 不支持,//表示注释 |
| 取余数 | 用 百分号 % | 同 python |
| 布尔值 | True 或 False | true 或 false |
| 与或非 | 与and,或or,非not | 与&&,或||,非! |
| 空值 | 用 None | 用null |
| 赋值 | 用等号=,或+=,-= | 同python |
| 判断相等 | 用双等号== | 用三等号===,双等号比较时会进行类型转换,不安全 |
| 判断不等 | 用!= | 同python |
| 代码块 | 用4个空格缩进,缩进的上一句结尾用冒号: | 用花括号{} |
| 占位语句 | 用pass,表示有个功能,但还没开发出来,暂时留个位置 | 不支持 |
| 函数 | def 函数名(参数): | function 函数名(参数){} |
| 模块 | import 模块名,py文件就是模块 | 不支持 |
| 包 | import 包名/模块名,文件夹就是包,必须包含有 __init__.py |
不支持 |
| 数组 | 叫list,如[1,2] | 叫array,如[1,2] |
| 元组 | 叫tuple,如(1,2),不能修改 | 不支持 |
| if语句 | if xxx:...elif...else | if(){...}else if(){...} else {} |
| for循环 | for xxx in range(10):... | for(var i=0;i<=10;i++){} |
| for...in循环 | for k in o:... | for(var k in o){} |
| while循环 | while xxx:... | while(){} |
| do...while循环 | 不支持 | do{} while(); |
输出输入:
print() 输出内容
括号内与js的log相同也可以使用函数
a=30
print(a)
input()输入内容
a=input('请输入内容') print(a)
数组list
可以使用空数组
a=['a','b','c'] print(a[0])
圆组tuple
tuple和list非常类似,但是tuple一旦初始化就不能修改,它也没有append(),insert()这样的方法。其他获取元素的方法和list是一样的
a=('a','b') print(a[0])
if else
python中的if语法和js中的有一点不同,js中使用为if(){}else{},而python为if(): else;
a=20 if(a>2): print('a大于2') else: print('a小于2')
if...elif...else...语句格式:
if xxx1:
事情1
elif xxx2:
事情2
elif xxx3:
事情3
else:
其他的事情
s = 30 if s > 90: print('我很优秀') elif s >=30 < 40: print('我还没及格') elif s > 40 < 50: print('我才50分') else: print('算了,不考了')
三目运算符
a=2 b=3 max= a if a>b else b print(max)
for in 遍历
执行后依次输出数组中的内容
a = ['Michael', 'Bob', 'Tracy'] for ab in a: print(ab)
max 取最大值
a=[1,2.,3,4,5,6,7,8] print(max(a))
abs() 求绝对值
print(abs(-3))
输出结果为3
数据类型转换
| 函数 | 说明 |
|---|---|
| int(x [,base ]) | 将x转换为一个整数 |
| float(x ) | 将x转换为一个浮点数 |
| complex(real [,imag ]) | 创建一个复数,real为实部,imag为虚部 |
| str(x ) | 将对象 x 转换为字符串 |
| repr(x ) | 将对象 x 转换为表达式字符串 |
| eval(str ) | 用来计算在字符串中的有效Python表达式,并返回一个对象 |
| tuple(s ) | 将序列 s 转换为一个元组 |
| list(s ) | 将序列 s 转换为一个列表 |
| chr(x ) | 将一个整数转换为一个Unicode字符 |
| ord(x ) | 将一个字符转换为它的ASCII整数值 |
| hex(x ) | 将一个整数转换为一个十六进制字符串 |
| oct(x ) | 将一个整数转换为一个八进制字符串 |
| bin(x ) | 将一个整数转换为一个二进制字符串 |
自定义函数 def
js中自定义函数为function a(){},python中使用def 与js有异曲同工之处,在调用,传参上都相同
def myfunction(a,b): print(a+b) myfunction(1,2)
格式化输出 %
day = 6
month = 9
print('今天是%d月%d号'%(day, month))

f-strings输出
f-strings 提供一种简洁易读的方式, 可以在字符串中包含 Python 表达式. f-strings 以字母'f' 或 'F' 为前缀, 格式化字符串使用一对单引号、双引号、三单引号、三双引号. 格式化字符串中
name = 'bayi'
age = 35
format_string1 = f'我的名字是 {name}, 我的年龄是 {age}'
format_string2 = f"我的名字是 {name}, 我的年龄是 {age}"
format_string3 = F'''我的名字是 {name}, 我的年龄是 {age}'''
format_string4 = F"""我的名字是 {name}, 我的年龄是 {age}"""
format_string5 = f'3 + 5 = {3 + 5}'
a = 10
b = 20
format_string6 = f'3 + 5 = {a + b}'
# 两个花括号会被替换为一个花括号, 注意{{}} 不表示表达式
format_string7 = F'我的名字是 {{name}}, 我的年龄是 {{age}}'
** f-strings在Python3.6版中提供,查看python版本命令:python --version ***
a='xiao' b='po' fstr=f'我姓{a},名{b}' print(fstr)
格式转换
| 格式符号 | 转换 |
|---|---|
| %c | 字符 |
| %s | 字符串 |
| %d | 有符号十进制整数 |
| %u | 无符号十进制整数 |
| %o | 八进制整数 |
| %x | 十六进制整数(小写字母0x) |
| %X | 十六进制整数(大写字母0X) |
| %f | 浮点数 |
| %e | 科学计数法(小写'e') |
| %E | 科学计数法(大写“E”) |
| %g | %f和%e 的简写 |
| %G | %f和%E的简写 |

浙公网安备 33010602011771号