标签:格式 条件 output ted 原因 三元运算 脚本 AC odi
python是解释性语言
编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快;
而解释器则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度是不如编译后的程序运行的快的.
这是因为计算机不能直接认识并执行我们写的语句,它只能认识机器语言(是二进制的形式)
python中有一个pyc文件?
编译型
优点:编译器一般会有预编译的过程对代码进行优化。因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率高。可以脱离语言环境独立运行。
缺点:编译之后如果需要修改就需要整个模块重新编译。编译的时候根据对应的运行环境生成机器码,不同的操作系统之间移植就会有问题,需要根据运行的操作系统环境编译不同的可执行文件。
解释型
优点:有良好的平台兼容性,在任何环境中都可以运行,前提是安装了解释器(虚拟机)。灵活,修改代码的时候直接修改就可以,可以快速部署,不用停机维护。
缺点:每次运行的时候都要解释一遍,性能上不如编译型语言。
动态语言和静态语言
通常我们所说的动态语言、静态语言是指动态类型语言和静态类型语言。
(1)动态类型语言:动态类型语言是指在运行期间才去做数据类型检查的语言,也就是说,在用动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。Python和Ruby就是一种典型的动态类型语言,其他的各种脚本语言如VBScript也多少属于动态类型语言。
(2)静态类型语言:静态类型语言与动态类型语言刚好相反,它的数据类型是在编译其间检查的,也就是说在写程序时要声明所有变量的数据类型,C/C++是静态类型语言的典型代表,其他的静态类型语言还有C#、JAVA等。
强类型定义语言和弱类型定义语言
(1)强类型定义语言:强制数据类型定义的语言。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。举个例子:如果你定义了一个整型变量a,那么程序根本不可能将a当作字符串类型处理。强类型定义语言是类型安全的语言。
(2)弱类型定义语言:数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。
强类型定义语言在速度上可能略逊色于弱类型定义语言,但是强类型定义语言带来的严谨性能够有效的避免许多错误。另外,“这门语言是不是动态语言”与“这门语言是否类型安全”之间是完全没有联系的!
例如:Python是动态语言,是强类型定义语言(类型安全的语言); VBScript是动态语言,是弱类型定义语言(类型不安全的语言); JAVA是静态语言,是强类型定义语言(类型安全的语言)。
python优缺点
先看优点
再看缺点:
Hello World程序
1 >>> print(‘hello world‘) 2 hello world
变量的赋值
1 name = ‘test‘ 2 name2 = name 3 print(name,name2) 4 5 name = ‘change‘ 6 print(name,name2)
用户输入
username = input("username:") password = input("passwd:") print(username,password) #输入密码时不可见,用getpass模块 >>> #-*- coding: utf-8 -*- ... import getpass >>> pwd = getpass.getpass("input passwd") input passwd >>> print(pwd) 123
sys,os模块 (库 直接导入可以用的叫标准库 第三方库必须下载安装)
import sys print(sys.argv) #[‘C:/Users/Thinkpa/PycharmProjects/python_lesson/lesson01/变量的赋值.py‘] >>> import os >>> os.system("df -h") Filesystem Size Used Avail Use% Mounted on /dev/sda3 16G 13G 2.7G 82% / tmpfs 1012M 88K 1012M 1% /dev/shm /dev/sda1 194M 30M 155M 17% /boot
格式化输出
1 #格式化输出 2 name = input("name:") 3 age = input("age") 4 #age = int(input("age")) 转换数据类型 整型 integer 5 print(type(age)) #打印数据类型 6 job = input("job:") 7 8 #格式化输出1 拼接 开启内存多 9 info1 = ‘‘‘ 10 ---output one--- 11 name: ‘‘‘+name+ ‘‘‘ 12 age: ‘‘‘+age+‘‘‘ 13 job: ‘‘‘+job+‘‘‘ 14 ‘‘‘ 15 print(info1) 16 17 #格式化输出2 18 #%s字符 %d 小数 %d浮点数 19 info2 = ‘‘‘ 20 ---output two--- 21 name: %s 22 age: %s 23 job: %s 24 ‘‘‘ %(name,age,job) 25 print(info2) 26 27 #格式化输出3 28 info3 = ‘‘‘ 29 ---output three--- 30 name: {Name} 31 age: {Age} 32 job: {Job} 33 ‘‘‘.format(Name=name, 34 Age=age, 35 Job=job) 36 print(info3) 37 38 #格式化输出4 39 info4 = ‘‘‘ 40 ---output four--- 41 name: {0} 42 age: {1} 43 job: {2} 44 ‘‘‘.format(name,age,job) 45 print(info4)
if else语句
#if else 语句 user_name = "test" pass_word = "123" username = input("username:") password = input("password:") if username == user_name and password == pass_word: print("Welcome user {name} login...".format(name=username)) else: print("Invalid username/password!")
while True
count = 0 while True: print(count) count += 1 if count == 100: break
for循环
#for循环 跳着打印 for i in range(0,10,2): print("loop ",i) #break结束当次循环 for i in range(10): print("===",i) for j in range(10): print(j) if j > 5: break #跳出当次循环
continue与break
continue #continue 跳出本次循环开始下次循环 for i in range(10): if i<5: continue #不往下走了,直接进入下一次loop print("loop:", i ) break for i in range(10): if i>5: break #不往下走了,直接跳出整个loop print("loop:", i )
流程控制
1 #if elif else 语句 while True 2 age = 30 3 count = 0 4 while True: 5 guess_age = int(input("guess age:")) 6 if guess_age == age: 7 print("right...") 8 break 9 elif guess_age > age: 10 print("smaller...") 11 else: 12 print("bigger...") 13 if count == 3: 14 break 15 count += 1 16 17 #while 后面直接加条件 else 18 age = 30 19 count = 0 20 while count < 3: 21 guess_age = int(input("guess age:")) 22 if guess_age == age: 23 print("right...") 24 break 25 elif guess_age > age: 26 print("smaller...") 27 else: 28 print("bigger...") 29 count += 1 30 else: 31 print("too many times") 32 # if count == 3: 33 # print("too many times") 34 35 #改为for循环 36 age = 30 37 for i in range(3): 38 guess_age = int(input("guess age:")) 39 if guess_age == age: 40 print("right...") 41 break 42 elif guess_age > age: 43 print("smaller...") 44 else: 45 print("bigger...") 46 else: 47 print("too many times") 48 49 #每执行三次 询问一次 50 age = 30 51 count = 0 52 while count < 3: 53 guess_age = int(input("guess age:")) 54 if guess_age == age: 55 print("right...") 56 break 57 elif guess_age > age: 58 print("smaller...") 59 else: 60 print("bigger...") 61 count += 1 62 if count == 3: 63 countine_con = input("keep input") 64 if countine_con != ‘n‘: 65 count = 0
三元运算
>>> a,b,c = 1,3,5 >>> d = a if a > b else c #不用三元运算 >>> if a > b:d = a ... else:d=c ...
bytes和string相互转换
#bytes --> string 用decode 编码 #string --> bytes 用incode 解码 #string(字符类型) --> bytes(二进制类型) >>> msg = "欢迎" >>> print(msg.encode(encoding="utf-8")) #写上字符编码 b‘\xe6\xac\xa2\xe8\xbf\x8e‘ >>> print(msg.encode()) #系统默认字符编码为utf-8 b‘\xe6\xac\xa2\xe8\xbf\x8e‘ #bytes --> string >>> print(msg.encode(encoding="utf-8").decode(encoding="utf-8")) 欢迎
标签:格式 条件 output ted 原因 三元运算 脚本 AC odi
原文地址:https://www.cnblogs.com/wangzihong/p/9030149.html