Python自动化之语法基础

1 第一个程序 hello world

在Linux环境下执行 vim hello.py

#!/usr/bin/env python     #指定解释器
print("hello world")

运行Python程序

Python hello.py
  1. 第一行是指定解释器,另一种写法是#!/usr/bin/python,后者限制了Python的位置,如果bin目录下没有Python这个解释器就会有问题,最好的写法是上面的写法。
  2. 如果要./hello.py这样执行的话,需要授予755权限,chmod 755 hello.py即可

2 变量和字符编码

变量定义规则

  • 变量名只能是 字母、数字或下划线的任意组合
  • 变量名的第一个字符不能是数字
  • 以下关键字不能声明为变量名
  • ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']

变量赋值问题

name = "me"name2 = nameprint(name,name2)name = "me_new"print(name,name2)

执行结果

me me  
me_new me  

从上述结果可以看出那么重新赋值name2并没有发生任何变化,那是因为name赋值为name2时,只是把me的内存地址给了name2,所以name2就指向了me,而重新给name赋值后,name的指向变了,但name2的指向还是指向me的内存地址,所以name2的结果还是me。

3 字符编码

3.1 Python里面的中文写法

在Python3下是支持中文的

print ("你好中国")

Python2的写法

#!/usr/bin/env python
# -*- coding:utf-8 -*-print "你好中国"

显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode

Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 16 = 65536,**
注:此处说的的是最少2个字节,可能更多

UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...

python如何使用注释
单行注释 #后面加被注释的内容
多行注释 可以在每行前面加#或者使用'''被注释的内容'''  

4 用户输入

输入名字并打印出来

#!/usr/bin/env python
_*_coding:utf-8_*_name = input("input your name:")
print(name)

getpass模块初始

# !/usr/bin/env python
# -*- coding: utf-8 -*-import getpass# 将用户输入的内容赋值给 name 变量
password = getpass.getpass("input password:")# 打印输入的内容
print(password)

4.1 3种格式化输出

第一种%格式化输出

#!/usr/bin/env python
#Author:wushipengname = input("name:")
job = input("job:")
salary = input("salary:")info ='''
--------info of %s----------
name:%s
job:%s
salary:%s
''' % (name, name, job, salary)info1 ='''
--------info of {name}----------
name:{name}
job:{job}
salary:{salary}
'''.format(name=name, job=job, salary=salary)

结果

name:wu
job:it
salary:3000--------info of wu----------
name:wu
job:it
salary:3000

第二种format格式化输出

#!/usr/bin/env python
#Author:wushipengname = input("name:")
job = input("job:")
salary = input("salary:")info1 ='''
--------info of {name}----------
name:{name}
job:{job}
salary:{salary}
'''.format(name=name, job=job, salary=salary)

结果

name:wu
job:it
salary:3000--------info of wu----------
name:wu
job:it
salary:3000

第三种format数字代指变量

#!/usr/bin/env python
#Author:wushipengname = input("name:")
job = input("job:")
salary = input("salary:")info2 = '''
--------info of {0}----------
name:{0}
job:{1}
salary:{2}
'''.format(name, job, salary)

结果

name:wu
job:it
salary:3000--------info of wu----------
name:wu
job:it
salary:3000

getpass可以使输入密码的时候不显示出来

5 表达式if ... else

猜年龄案例

#!/usr/bin/env python
#_*_coding:utf-8_*_age = 28
while True:age_new = int(input("input you age:"))if age_new > age:print("it's bigger than age")elif age_new < age:print("it's smaller than age")else:print("you guess it")break

while循环可以让用户一直猜,直到猜出来为止,break直接结束整个循环。与之类似的还有continue,continue是结束本次内循环,进行下一次外循环。

while实现限制5次,5次之后直接结束

age = 28
count = 0
while True:age_new = int(input("input you age:"))
if age_new > age:print("it's bigger than age")
elif age_new < age:print("it's smaller than age")
else:print("you guess it")count += 1
if count == 5:break

6 for循环

#!/usr/bin/env python
#_*_coding:utf-8_*_for i in range(10):
print(i)结果:
0
1
2
3
4
5
6
7
8
9

猜年龄只限制输入5次

# !/usr/bin/env python
# _*_coding:utf-8_*_age = 28
for i in range(5):age_new = int(input("input you age:"))if age_new > age:print("it's bigger than age")elif age_new < age:print("it's smaller than age")else:print("you guess it")break

转载于:https://www.cnblogs.com/wspblog/p/5708237.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/286854.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jquery分页插件

jquery.mypagination.js 文件&#xff1a; /* * * * jquery分页插件* 1.0 zheng 2014-03-18 * 1.1 兼容url包含#号地址&#xff0c;GoToPage可以指定锚点&#xff08;特殊需求&#xff09;2014-04-10 09:00:34* 1.2 可以配置分页条列出页面数* 1.3 增加了页面码跳转功能* …

Android之如何分析手机系统相册图片和视频删除后保存的位置

1 需求 需要获取各种型号手机系统相册图片和视频删除后保存的位置 2 分析 1)我们可以通过在sdcard目录下进行相关查找文件夹关键字,对 "cycle"或者"trash"或者*galle*进行忽略大小写模糊查询都有文件夹 find . -iname *cycle* find . -iname *trash*…

WPF 实现水珠效果按钮组

本文经原作者授权以原创方式二次分享&#xff0c;欢迎转载、分享。原文作者&#xff1a;普通的地球人原文地址&#xff1a;https://www.cnblogs.com/tsliwei/p/8041928.html相关知识这部分基本就是废话,网上都能找到,我只不过是整理了以下.建议先不看,用到的时候可以回来看看贝…

GetDisplayName 获取枚举的显示值

item.State.GetDisplayName(), 转载于:https://www.cnblogs.com/zhongku/p/4944315.html

组策略管理——软件限制策略(4)

编写软件限制规则 在前面几篇文章中讲了软件限制规则的基本概念&#xff0c;现在就来学习如何编写自定义软件限制策略。 编写规则应遵循的原则 首先&#xff0c;需要大家注意的是&#xff0c;软件限制策略应本着方便、安全、实用的原则来编写。限制规则灵活方便&#xff0c;自定…

我使用 html 反向输出自己打自己(7)

作者简介 作者名&#xff1a;1_bit 简介&#xff1a;CSDN博客专家&#xff0c;2020年博客之星TOP5&#xff0c;蓝桥签约作者。15-16年曾在网上直播&#xff0c;带领一批程序小白走上程序员之路。欢迎各位小白加我咨询我相关信息&#xff0c;迷茫的你会找到答案。 目录 HTML基…

甘肃省普通高等学校高职(专科)升本科考试英语科考试大纲(试行)

甘肃省普通高等学校高职&#xff08;专科&#xff09;升本科考试英语科考试大纲&#xff08;试行&#xff09; 一、考试目的 全面考核普通高等学校高职&#xff08;专科&#xff09;应届毕业生英语课程是否达到教学大纲所规定的目标&#xff08;领会式掌握3500单词&#xff0c…

256种编程语言大荟萃

本文是码农网原创翻译&#xff0c;转载请看清文末的转载要求&#xff0c;谢谢合作&#xff01; 双休日常常意味着很多休息时间。与其懒洋洋地坐在那里玩游戏&#xff0c;为何不学点新知识武装自己&#xff1f;本文中不会特定推荐哪种编程语言&#xff0c;但是会提供基于GitHub上…

java 获取系统当前时间

Calendar ca Calendar.getInstance(); int year ca.get(Calendar.YEAR);//获取年份 int monthca.get(Calendar.MONTH);//获取月份 int dayca.get(Calendar.DATE);//获取日 int minuteca.get(Calendar.MINUTE);//分 int hourca.get(Calendar.HOUR)…

Android之最简单的遍历某个目录下的所有文件(递归)

1、问题 遍历某个目录下的所有问题文件 2、代码实现 fun getRecoverTrashFile(path: String) {if (TextUtils.isEmpty(path))returntry {var file File(path)if (file null || !file.exists()) {return}var files file.listFiles()if (files null || files.size < 0) {…

Castle.DynamicProxy拦截器

在asp.net mvc或asp.net miniapi中&#xff0c;有过滤器&#xff0c;可以在请求前或后增加一层&#xff0c;达到验证&#xff0c;过滤等作用&#xff0c;如果在Service的方法前后加一层呢&#xff1f;这里介绍一下Castle.DynamicProxy的用法。首先引入Castle.Core实现代码相对轻…

甘肃省普通高等学校高职(专科)升本科考试计算机科考试大纲(试行)

甘肃省普通高等学校高职&#xff08;专科&#xff09;升本科考试计算机科考试大纲&#xff08;试行&#xff09; 一、考试目的及要求 全面考核普通高等学校高职&#xff08;专科&#xff09;应届毕业生计算机应用能力是否达到教学大纲所规定的要求。所有考生计算机基础知识必须…

Android选项切换条SHSegmentControl

&#xfeff;&#xfeff;Android选项切换条SHSegmentControl SHSegmentControl是github上一个开源的选项切换条&#xff0c;其样式如图所示&#xff1a; SHSegmentControl在github上的项目主页地址&#xff1a;https://github.com/7heaven/SHSegmentControl SHSegmentControl…

从零开始编写自己的C#框架(14)——T4模板在逻辑层中的应用(三)

原本关于T4模板原想分5个章节详细解说的&#xff0c;不过因为最近比较忙&#xff0c;也不想将整个系列时间拉得太长&#xff0c;所以就将它们整合在一块了&#xff0c;可能会有很多细节没有讲到&#xff0c;希望大家自己对着代码与模板去研究。 本章代码量会比较大&#xff0c;…

赶紧3分钟学完15分钟的内容我要出去玩(8)

作者简介 作者名&#xff1a;1_bit 简介&#xff1a;CSDN博客专家&#xff0c;2020年博客之星TOP5&#xff0c;蓝桥签约作者。15-16年曾在网上直播&#xff0c;带领一批程序小白走上程序员之路。欢迎各位小白加我咨询我相关信息&#xff0c;迷茫的你会找到答案。 目录 HTML基…

Android之获取到音视频的时长后按格式(00:00或者00:00:00)显示

1 需求 我们获取到了本地视频时长(秒为单位),然后需要按照如下格式显示 没有到小时的时长如下格式 00:00 有到小时的时长如下格式 00:00:00 2 代码实现 /*** 可以显示小时*/fun getDateStr(ms: Long): String? {val ss = 1val mi = ss * 60val hh = mi * 60val dd = …

Hello Playwright:(5)查找元素

操作浏览器归根到底就是和页面进行交互&#xff0c;那么必不可少的操作就是查找页面上的元素。因此我们需要熟练掌握Locator 定位器。在上一节我们讲过&#xff0c;可以使用Page.Locator(selector, options)方法创建定位器&#xff0c;而如何定位到元素则取决于selector 选择器…

RxSwift 之官方文档

RxSwift 官方文档结构 Introduction:SubjectsTransforming ObservablesFiltering ObservablesCombining ObservablesError Handing OperatorsObservable Utility OperatorsConditional and Boolean OperatorsMathematical and Aggregate OperatorsConnectable Observable Opera…

SQL一键备份用户数据库

大家都知道&#xff0c;Ms Sql 有自动备份的功能&#xff0c;但如果由于某种原因不能自动备份&#xff0c;或者我们想手动备份的话&#xff0c;就可以用下边的sql语句来执行备份。 --------------------代码开始------------- USE [master]------删除旧数据-------------------…

2019年甘肃省普通高等学校高职(专科)升本科考试招生工作实施办法

2019年甘肃省普通高等学校高职&#xff08;专科&#xff09;升本科考试招生工作实施办法 2019年甘肃省普通高等学校高职&#xff08;专科&#xff09;升本科考试招生工作实施办法 根据教育部有关规定及要求&#xff0c;结合我省实际&#xff0c;为确保普通高等学校高职&#x…