标签:并保存 cpu bool 驼峰 一起 传递 升级版 移植 perl
1.编译型(c、c++、go、swift、objrct—c、pascal)
编译型是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,执行速度很快,但是开发效率慢。并且不可以跨平台。
2.解释型(java、python、ruby、php、perl、erlang)
解释型则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度是不如编译型的程序运行的快的,执行效率慢,但是开发效率快,并且可以跨平台
Python的优缺点
先看优点
再看缺点:
‘‘’密码本(编码库)’’’
首先编码是什么?(面试会考)
简单来说就是我们所认知的语言,和计算机能识别的语言,他们之间存在这这种一一对应的关系。而计算机能识别的语言,叫编码。(为什么称之为密码本,像电视剧中的抗战片,电报摩斯码,01010101什么的,这个就是编码,通过密码本我们可以知道传递过来的信息是什么意思。)
ASCII码:
最初的编码库,八位表示一个字符,也就是一字节一个字符
只能表示字母,字符
Unicode码:
统一码、万国码、单一码,
最少由 16 位来表示一个字符,就是2字节一个字符。
中文用32位来表示,就是4个字节一个字符。
(老师说这厮浪费资源)
Utf-8码:
Unicode码的升级版,最少8位一个字符,欧洲字符用16位,亚洲字符24位。中文(3个字节一个字符)
Gbk码:
Gbk是各国有各国的,在utf-8出来之前,代替用的,中文用两2个字节表示1个字符
Python中注释的符号
# 嘤嘤嘤(快捷键 Ctrl+/)
’’’嘤嘤嘤’’’
”””嘤嘤嘤””””
这三种。
变量 *****(重要)
变量是什么? 变量:把程序运行的中间结果临时的存在内存里,以便后续的代码调用。
在pycharm中输入(注意:从今以后输入程序中的“()”要用英文版本,要不然会报错)
name = (’L公子’) # name变量被设定成L公子
print(name) #打印出这个name;
print就是打印的意思。
这两句话的相当于在内存中创建了一个name的变量,这name这个变量,现在是背设定成了L公子。
上面那两个程序敲入pycharm中按回车得到了L公子
变量的设定的规律
例:AgeOfLGongZi(驼峰体)
age_of_l_gong_zi(下划线)(推荐)
变量之所以称之为变量因为它是可变的
name = (‘L公子’) #name变量被设定成L公子
name = (‘Lgongzi’) #name变量被设定成Lgongzi
print(name)
则输出
Lgongzi
因为python是一条一条从上到下编译,第一句name变量被设定成L公子,但是第二句name变量被设定成了Lgongzi,因此打印出来的结果就是Lgongzi。
常量
常量即指不变的量,如圆周率π = 3.141592653..., 或在程序运行过程中不会改变的量
在Python中没有一个专门的语法代表常量,程序员约定俗成用变量名全部大写代表常量
基础数据类型
我们人类可以很容易的分清数字与字符的区别,但是计算机并不能呀,计算机虽然很强大,但从某种角度上看又很傻,除非你明确的告诉它,1是数字,“汉”是文字,否则它是分不清1和‘汉’的区别的,因此,在每个编程语言里都会有一个叫数据类型的东东,其实就是对常用的各种数据类型进行了明确的划分,你想让计算机进行数值运算,你就传数字给它,你想让他处理文字,就传字符串类型给他。Python中常用的数据类型有多种,先暂只讲3种, 数字、字符串、布尔类型
Type()这个码是用来查看数据类型的
Pycharm中敲入:
a = 666
b = (‘L公子‘)
c = (1<2)
print(a,type(a))
print(b,type(b))
print(c,type(c))
输出结果为:
666 <class ‘int‘>
L公子<class ‘str‘>
True <class ‘bool‘>
整数类型(int)。
1. 数字型字符类型int
在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
2. 字符串类型(str)
在Python中,加了引号的字符都被认为是字符串!
那单引号、双引号、多引号有什么区别呢? 让我大声告诉你,单双引号木有任何区别,只有下面这种情况 你需要考虑单双的配合
msg = "My name is L , I ‘m 18 years old!"(因为i‘m所以使用单引号会报错,所以使用双引号)
多引号什么作用呢?作用就是多行字符串必须用多引号
在pycharm中敲入:
msg = ‘‘‘
今天我想写首小诗,
歌颂我的同桌,
你看他那乌黑的短发,
好像一只炸毛鸡。‘‘‘
print(msg)
回车则会显示这首诗。(这种情况推荐使用三引号)
字符串拼接
数字可以进行加减乘除等运算,字符串呢?让我大声告诉你,也能?what ?是的,但只能进行"相加"和"相乘"运算,并且只能与数字想乘。
相加例子:
name1 = (‘Lgongzi’)
name2 = (‘L公子’)
print(name1 + name2)
则会显示:
LgongziL公子
相乘例子:
如敲入
name1 = (‘L公子’)
print(name1 *3)
则会显示
L公子L公子L公子
3.布尔值(True,False)。
布尔类型很简单,就两个值 ,一个True(真),一个False(假), 主要用记逻辑判断
但其实你们并不明白对么? let me explain, 我现在有2个值 , a=3, b=5 , 我说a>b你说成立么? 我们当然知道不成立,但问题是计算机怎么去描述这成不成立呢?或者说a< b是成立,计算机怎么描述这是成立呢?
没错,答案就是,用布尔类型
布尔类型只会表示True,False!
敲入:
a = 1
b = 3
print( a < b )
输出
True
格式化输出
现有一练习需求,问用户的姓名、年龄、工作、爱好 ,然后打印成以下格式
------------ info of L公子 -----------
Name : L公子
Age : 18
job : studen
Hobbie: girl
------------- end -----------------
你怎么实现呢?你会发现,用字符拼接的方式还难实现这种格式的输出,所以一起来学一下新姿势
只需要把要打印的格式先准备好, 由于里面的 一些信息是需要用户输入的,你没办法预设知道,因此可以先放置个占位符,再把字符串里的占位符与外部的变量做个映射关系就好啦
name = input("Name:")
age = input("Age:")
job = input("Job:")
hobbie = input("Hobbie:")
info = ‘‘‘
------------ info of %s ----------- #这里的每个%s就是一个占位符,本行的代表 后面拓号里的 name
Name : %s #代表 name
Age : %s #代表 age
job : %s #代表 job
Hobbie: %s #代表 hobbie
------------- end -----------------‘‘‘ %(name,name,age,job,hobbie) # 这行的 % 号就是 把前面的字符串 与拓号 后面的 变量 关联起来
print(info)
%s就是代表字符串占位符,除此之外,还有%d,是数字占位符, 如果把上面的age后面的换成%d,就代表你必须只能输入数字啦
age : %d
我们运行一下,但是发现出错了。。。
说%d需要一个数字,而不是str, what? 我们明明输入的是数字呀,18呀。
不用担心 ,不要相信你的眼睛我们调试一下,看看输入的到底是不是数字呢?怎么看呢?查看数据类型的方法是什么来着?type()
name = input("Name:")
age = input("Age:")
print(type(age))
执行输出是
Name:L公子
Age:18
<class ‘str‘> #怎么会是str
Job:student
让我大声告诉你,input接收的所有输入默认都是字符串格式!
要想程序不出错,那怎么办呢?简单,你可以把str转成int
age = int( input("Age:") )
print(type(age))
肯定没问题了。相反,能不能把字符串转成数字呢?必然可以,str( yourStr )
问题:现在有这么行代码
msg = "我是%s,年龄%d,目前学习进度为80%"%(‘L‘,18)print(msg)
这样会报错的,因为在格式化输出里,你出现%默认为就是占位符的%,但是我想在上面一条语句中最后的80%就是表示80%而不是占位符,怎么办?
msg = "我是%s,年龄%d,目前学习进度为80%%"%(‘L‘,18)
print(msg)
这样就可以了,第一个%是对第二个%的转译,告诉Python解释器这只是一个单纯的%,而不是占位符。
标签:并保存 cpu bool 驼峰 一起 传递 升级版 移植 perl
原文地址:https://www.cnblogs.com/Lgongzi/p/10160585.html