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的简写 |
Python语法使用的更多相关文章
- 对 Python 语法不够了解导致的 bug
对 Python 语法不够了解导致的 bug. `in` '20' in '11264,6144,4096,3072,2048,1024,300,30' Out[7]: True a_list = ' ...
- python 笔记2:python语法基础
python语法学习笔记: 1 输入输出 input(),print(). name = input('input your name : ')print('hello ,'+name)print(& ...
- python语法快速入门(1)
http://www.runoob.com/python/python-tutorial.html Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节.类似于PHP和Perl语言 ...
- python语法笔记(四)
1.对象的属性 python一切皆对象,每个对象都可能有多个属性.python的属性有一套统一的管理方案. 属性的__dict__系统 对象的属性可能来自于其类定义,叫做类属性:还可能 ...
- python语法-[with来自动释放对象]
python语法-[with来自动释放对象] http://www.cnblogs.com/itech/archive/2011/01/13/1934779.html 一 with python中的w ...
- wxpython 支持python语法高亮的自定义文本框控件的代码
在研发闲暇时间,把开发过程中比较重要的一些代码做个珍藏,下面的代码内容是关于wxpython 支持python语法高亮的自定义文本框控件的代码,应该是对大家也有用. import keywordimp ...
- Python语法的转义字符
Python语法的转义字符 转义字符 说 明 \ 续行符 \n 换行符 \0 空 \t 水平制表符,用于横向跳到下一制表位 \'' 双引号 \' 单引号 \\ 一个反斜杠 \f 换页 \0dd 八进 ...
- Python语法教程总结规范
Python语法易错点记录 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享. ...
- 初试Python语法小试牛刀之冒泡排序
Python很火,心里很慌,没吃过猪肉,也要见见猪走路. 看了几天Python的语法,大概初步了解了一点点,https://www.liaoxuefeng.com/wiki/0014316089557 ...
- (数据分析)第02章 Python语法基础,IPython和Jupyter Notebooks.md
第2章 Python语法基础,IPython和Jupyter Notebooks 当我在2011年和2012年写作本书的第一版时,可用的学习Python数据分析的资源很少.这部分上是一个鸡和蛋的问题: ...
随机推荐
- 10-3 定制操作lambda
目录 10.3.1 向算法传递函数 谓词 排序算法 10.3.2 lambda表达式 引入 介绍lambda 向lambda传递参数 使用捕获列表 调用find_if 使用for_each 完整的bi ...
- 【一步步开发AI运动小程序】十九、运动识别中如何解析RGBA帧图片?
引言 最近有不少开发者向我们咨询,像体测.赛事等应用场景中,需要保存运动过程的图像,如何将相机抽取的RGBA帧图像解析成.jpg或.png格式的图像?今天我们就为您介绍相应的解决方案. 一.RGBA图 ...
- 关于开启了auth的站点如何使用curl访问
有的站点开了 auth 如何访问呢 可以直接这样 将 用户名密码放入URL中 http://username:password@host:8080/index.html 即可.
- 从零开始学机器学习——入门NLP
首先给大家介绍一个很好用的学习地址:https://cloudstudio.net/columns 今天我们将深入探讨自然语言处理(Natural Language Processing, NLP)这 ...
- docker番外篇-最详细的安装及部署项目教程(net framework,netcore,java,nodejs,静态html,mysql,redis,私有仓库,https免费证书等)
目录 本地widows(win11)docker环境安装 安装Docker Desktop 服务器liunx(ubuntu)docker环境安装 安装nginx 安装docker环境 安装docker ...
- Vim基本使用指南
一般模式:移动光标的方法 h或 向左方向键(←)光标向左移动一个字符 j或 向下方向键(↓)光标向下移动一个字符 k或 向上方向键(↑)光标向上移动一个字符 l或 向右方向键(→)光标向右移动一个字符 ...
- 深度探讨Java字节代码的操纵方法
本文为IBM工程师成富编写的<Java深度历险>的第一部分Java字节代码的操纵,像这样Java语言的深度理解和运用还没有很多文章,我们把他奉献给读者,希望读者们喜欢. AD:2013云计 ...
- MySQL命令行客户端工具之mycli
官网: mycli 目前市面上存在各种五花八门的图形界面客户端,如 phpmyadmin,navicat 以及官方的 MySQL Workbench 等等.而在日常工作或者使用中,通过命令连接 MyS ...
- 使用canal将数据同步到ROCKETMQ
概述 我们需要将数据从MYSQL写入到rocketmq.实现步骤如下: 安装canal.admin 修改配置 server: port: 8849 spring: jackson: date-form ...
- 以下哪一项是对CSMA/CA和CSMA/CD LAN控制通用的CSMA方法的适当描述?
A. 检测载波信号并控制数据传输. B. 获得具有传输权的消息(令牌)的终端传输数据. C. 如果在数据传输过程中发生冲突,立即重新发送. D. 即使在使用传输线时也可以传输数据. = ...