Python学习笔记一(基础知识)

Python学习笔记一(基础知识)1.Python 的特点: 1.1. 语法简介,实现同样的功能,代码行数少; 1.2. 作为解释型语言,性能与C/C++有差距,甚至比不上java,发布代码必须发布源码,而C等编译类语言,只需要把编译后的机器码发布即可; 1.3. 可实现网站或游戏后台,网络爬虫工具等,YouTube、豆瓣、Google、Yahoo等都在使用Python; 1.4. 丰富的基础代码库,覆盖了网络、文件、GUI、数据库、文本等大量内容; 1.5. Python有两个版本,一个是2.x版

大家好,又见面了,我是你们的朋友全栈君。

      本文是小编自己学习Python的学习笔记,本着简介方便的原则,记录Python的主要基础知识点,以便学习和回顾。

1.Python 的特点:

    1.1. 语法简介,实现同样的功能,代码行数少;
    1.2. 作为解释型语言,性能与C/C++有差距,甚至比不上java,发布代码必须发布源码,而C等编译类语言,只需要把编译后的机器码发布即可;
    1.3. 可实现网站或游戏后台,网络爬虫工具等,YouTube、豆瓣、Google、Yahoo等都在使用Python;
    1.4. 丰富的基础代码库,覆盖了网络、文件、GUI、数据库、文本等大量内容;
    1.5. Python有两个版本,一个是2.x版,一个是3.x版,这两个版本是不兼容的,本文实现都是3.X版本。

2.Python语法糖:

       本文代码都在PyCharm中实现,并保证能够正确执行。  Python作为解释型语言,是区分大小写的,并采用
Unicode编码,能够直接处理的数据类型,整型(任意大小),浮点型,字符串(可以使用’或”,转义字符为”\”),布尔值(True/False),空值(none)。Python以缩进的方式区分代码块。           

      2.1 helloworld.py       
# 输出hello, world!
print('hello, world!')

# 以","分割的方式打印
print('abc', 'is a', 'string')

# 计算数学表达式
print('100 + 200 =', 100 + 200)
# 输入变量名称
# name = input('please input name: ')
#
# print(name)

# list list是一个可变的有序表,以中括号包括
classmates = ['Lance', 'Tom', 'python']
print(classmates[-1])
print(classmates)
# 末尾添加元素
classmates.append("java")
print(classmates)
# 指定位置插入元素
classmates.insert(1, 'Jack')
print(classmates)
# 删除指定位置元素
classmates.pop(-1)
print(classmates)
# 末尾删除元素
classmates.pop()
print(classmates)

s = ['python', 'java', ['asp', 'php'], '.net']
print(s)
print(s[2])

# tuple一旦初始化就不能修改
classmates = ('lance', 'Tom', 'hanmeimei')
print(classmates[1])

# if ... else 条件判断
age = 3
if age >= 18:
    print('adult')
elif age >= 6:
    print('teenager')
else:
    print('kid')

print("#for 循环 ")

names = ['python', 'java', ['asp', 'php'], '.net']
for name in names:
    print(name)

print("#Python以缩进的方式区分代码块")
sum = 0
for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
    if x % 2 == 0:
        continue
    if x > 10:
        break
    sum = sum + x
print(sum)

print("#Python以缩进的方式区分代码块")
sum = 0
for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
    sum = sum + x
    print(sum)


print("#dict 类似于java的map,key-value的方式保存数据")
dictdata = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
print(dictdata.get('Michael'))
# 若不存在对应key的value的返回指定的值
print(dictdata.get('AABBCC',-1))

# Set与java中的set类似
set = set([1, 1, 2, 2, 3, 3])
print(set)

     输出结果:   
hello, world!abc is a string100 + 200 = 300python['Lance', 'Tom', 'python']['Lance', 'Tom', 'python', 'java']['Lance', 'Jack', 'Tom', 'python', 'java']['Lance', 'Jack', 'Tom', 'python']['Lance', 'Jack', 'Tom']['python', 'java', ['asp', 'php'], '.net']['asp', 'php']Tomkid#for 循环 pythonjava['asp', 'php'].net#Python以缩进的方式区分代码块25#Python以缩进的方式区分代码块13610152128364555#dict 类似于java的map,key-value的方式保存数据95-1{1, 2, 3}

3. Python内置的函数

      官方给出的文档如下图:

      代码示例:function.py      

print("abs")
print("abs(-20):",abs(-20))
print("abs(-20):",abs(-12.67))

print("int()函数可以把其他数据类型转换为整数")
print("int('123'):",int('123'))
print("int(12.56):",int(12.56))

4. 函数定义:        

def func_abs(x):
    if not isinstance(x, (int, float)):
         # 抛出异常
        raise TypeError('bad operand type')
    if x >= 0:
        return x
    else:
        return -x

print(func_abs(-13))

#Python函数支持返回多个返回值

def func_abs(x,y):
    if not isinstance(x, (int, float)):
        raise TypeError('bad operand type')
    if not isinstance(y, (int, float)):
        raise TypeError('bad operand type')

    if x < 0:
        x = -x

    if y < 0:
            y = -y
    return x,y


print(func_abs(-13,-128))

#空函数
def nop():
    pass  #pass为占位符




print("#默认参数")
# 必选参数在前,默认参数在后
def func_power(x, n=2):
    s = 1
    while n > 0:
        n = n - 1
        s = s * x
    return s


print(func_power(5))
print(func_power(5,3))

print("#可变参数")
#可变参数在函数调用时自动组装为一个tuple
def func_calc(*numbers):
    sum = 0
    for n in numbers:
        sum = sum + n
    return sum

print(func_calc(5,5,5))


print("#关键字参数")
#关键字参数允许你传入0个或任意个含参数名的参数,可以扩展函数的功能
def func_person(name, age, **kw):
    print('name:', name, 'age:', age, 'other:', kw)

func_person('Bob', 35, city='Beijing')
func_person('Adam', 45, gender='M', job='Engineer')

print("#命名关键字参数")
# 限制关键字参数的名字,就可以用命名关键字参数,例如,只接收city和job作为关键字参数

def person(name, age, *, city, job):
    print(name, age, city, job)

# 如果函数定义中已经有了一个可变参数,后面跟着的命名关键字参数就不再需要一个特殊分隔符 * 了:

def person(name, age, *args, city, job):
    print(name, age, args, city, job)



# 在Python中定义函数,可以用必选参数、默认参数、可变参数、关键字参数和命名关键字参数,这5种参数都可以组合使用。但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。

def f1(a, b, c=0, *args, **kw):
    print('a =', a, 'b =', b, 'c =', c, 'args =', args, 'kw =', kw)


print("#递归函数")
def func_fact(n):
    if n==1:
        return 1
    return n * func_fact(n - 1)


print(func_fact(1))
print(func_fact(5))
print(func_fact(100))


   输出结果:
13
(13, 128)
#默认参数
25
125
#可变参数
15
#关键字参数
name: Bob age: 35 other: {'city': 'Beijing'}
name: Adam age: 45 other: {'gender': 'M', 'job': 'Engineer'}
#命名关键字参数
#递归函数
1
120
93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/149564.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • vim 设置搜索高亮_vim取消搜索后高亮持续

    vim 设置搜索高亮_vim取消搜索后高亮持续vim搜索设置高亮linuxvim打开文档搜索字符串时,设置被搜索到字符串高亮显示。有两种方法:1、临时设置:vim打开文档–>命令行形式输入sethlsearch。缺点:关闭文档后,下次打开,又需要重新设置一遍。2、永久设置(推荐):在~/.vimrc中配制vim~/.vimrc在文件中加上sethlsearch 然后保存退出便可。

  • 下一代开发利器 jetbrains fleet 开放试用申请了[通俗易懂]

    下一代开发利器 jetbrains fleet 开放试用申请了[通俗易懂]申请回复jetbrainsfleet11月29日,JetBrains首席布道师HadiHariri在官方博客发文,正式宣布Fleet编辑器的到来。官网

  • 阿里的笔试题_阿里巴巴java笔试题

    阿里的笔试题_阿里巴巴java笔试题2015阿里笔试题阿里2015招聘实习生笔试题笔试最后一题,题目大意是:给定一数组,数组中每个元素代表一个宽度为1的墙,求由这些墙能装多少水,输入为[1,0,2,1,0,1,3,2,1,2,1],输出为6.时间复杂度为O(n),空间复杂度为O(1).#includeusingnamespacestd;intVolume(intA[],intn){i

  • phpstrom 激活码2021(最新序列号破解)

    phpstrom 激活码2021(最新序列号破解),https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • 《计算机组成原理》基础概念笔记整理

    《计算机组成原理》基础概念笔记整理《计算机组成原理》复习整理以下我将使用笔记的方式,将整本书重点整理一下,或许会有纰漏,望大家多多包涵。第一章计算机系统概论计算机的硬件:计算机中的电子电路和物理装置;计算机硬件的五大部分:运算器、控制器、存储器、输入设备和输出设备;计算机的软件:计算机运行所需的程序及相关的资料;软件系统:一台计算机中的全部程序的集合;计算机软件的分类(按功能划分):应用软件和系统软件;系统…

  • java中的基本数据类型一定存储在栈中吗?

    java中的基本数据类型一定存储在栈中吗?首先说明,”java中的基本数据类型一定存储在栈中的吗?”这句话肯定是错误的。下面让我们一起来分析一下原因:基本数据类型是放在栈中还是放在堆中,这取决于基本类型在何处声明,下面对数据类型在内存中的存储问题来解释一下: 一:在方法中声明的变量,即该变量是局部变量,每当程序调用方法时,系统都会为该方法建立一个方法栈,其所在方法中声明的变量就放在方法栈中,当方法结束系统会释放方法栈,其对应在该方法中声明的变量随着栈的销毁而结束,这就局部变量只能在方法中有效的原因 在方法中…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号