zoukankan      html  css  js  c++  java
  • 技术总结

    编程语言的分类

    1.编译型(c、c++、go、swift、objrct—c、pascal)

    译型是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,执行速度很快,但是开发效率慢。并且不可以跨平台。

    2.解释型(java、python、ruby、php、perl、erlang)

    解释型则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度是不如编译型的程序运行的快的,执行效率慢,但是开发效率快,并且可以跨平台

    Python的优缺点

    先看优点

    1. Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易懂,初学者学Python,不但入门容易,而且将来深入下去,可以编写那些非常非常复杂的程序。
    2. 开发效率非常高,Python有非常强大的第三方库,基本上你想通过计算机实现任何功能,Python官方库里都有相应的模块进行支持,直接下载调用后,在基础库的基础上再进行开发,大大降低开发周期,避免重复造轮子。
    3. 高级语言————当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节
    4. 可移植性————由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工 作在不同平台上)。如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需修改就几乎可以在市场上所有的系统平台上运行
    5. 可扩展性————如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。
    6. 可嵌入性————你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。

    再看缺点:

    1. 速度慢,Python 的运行速度相比C语言确实慢很多,跟JAVA相比也要慢一些,因此这也是很多所谓的大牛不屑于使用Python的主要原因。(我喜欢就行,我又不是大牛)
    2. 代码不能加密,因为PYTHON是解释性语言,它的源码都是以名文形式存放的,不过我不认为这算是一个缺点,如果你的项目要求源代码必须是加密的,那你一开始就不应该用Python来去实现。(加密也没个啥用。)
    3. 线程不能利用多CPU问题,这是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公子

    变量的设定的规律

    1. 变量只能是字母,数字,下划线(_)的任意排列组合
    2. 变量第一个字符不能是数字。例:1aaa = (‘L公子’)
    3. 不能是关键词['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']
    4. 变量不可以是中文
    5. 变量要具有可描述性,例如:name = (L公子);age = 18
    6. 变量不宜过长。
    7. 变量推荐驼峰体和下划线体

    例: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解释器这只是一个单纯的%,而不是占位符。

  • 相关阅读:
    fiddler模拟弱网测试环境
    3.12 获取地址定位
    3.11 第一次个人作业7
    3.10 第一次个人作业6
    3.9 第一次个人作业5
    3.8 第一次个人作业4
    3.7 第一个次个人作业3
    3.6 第一次个人作业2
    3.5 第一次个人作业
    3.4 TextClock的基本使用
  • 原文地址:https://www.cnblogs.com/Lgongzi/p/10160585.html
Copyright © 2011-2022 走看看