美文网首页
从零开始学Python

从零开始学Python

作者: 隐性中二病患者 | 来源:发表于2018-01-27 19:09 被阅读0次

今天开始尝试以自提问的方式学习python这门语言,基本就是问自己一些能想到的问题,然后解决这些问题,来弄懂如何写python了。对于编程语言我已有了大致的了解,作为脚本语言python应该也有类似的结构。我们先来了解下脚本语言的一些特性。

弱类型

相对于java 这种需要声明变量类型的语言 js则不需要声明指定的变量类型 解释器通过变量的值就能推断 那python呢?

java

private String str;
private int i;

js

var a = 1;
var b = "string";

python

age = 3
if age >= 18:
print('adult')
elif age >= 6:
print('teenager')
else:
print('kid')

第一个问题 python也是弱类型的语言吗?

明显是的,我们看下变量定义的时候甚至都不需要一个var关键字。从上面的python代码我们可以知道这个语言的一些规则:

  1. 变量无类型直接声明
  2. 函数调用和一般编程语言类似
  3. 没有代码块{}变现 原来使用缩进来代替代码块 这个有点不严谨吧
  4. 判断语句没有使用()号 而且以:来作结尾

第二个问题 如何处理字符串?

java和js中对字符串的处理都很简单也很类似

java

String str1 = "1";
String str2 = "2";
str1+=str2;

js

var str1 = "1";
var str2 = "2";
str1+=str2;

python

str1 = "1";
str2 = "2";
str1+=str2;

这样获得了规则5

  1. 字符串拼接处理类似js

第三个问题 如何自定义函数并调用?

python

def my_abs(x):
if x >= 0:
return x
else:
return -x
my_abs(123);

  1. 函数定义以def作为关键字 函数名称(参数1,参数2),使用*return *作为关键字返回。

第三个问题 有没有命名空间的概念 自定义的函数和内置函数如果重名先调用谁呢?

python

!/usr/bin/env python3

-- coding: utf-8 --

' a test module '
author = 'Michael Liao'
import sys
def test():
args = sys.argv
if len(args)==1: > print('Hello, world!')
elif len(args)==2:
print('Hello, %s!' % args[1])
else:
print('Too many arguments!')
if name=='main':
test()

  1. 和java的包结构类似,每个py文件都是一个模块,导入用import命令, 命名空间就是文件的目录结构,不同命名空间中变量和函数的可以重复,但要小心不能和系统内置的重复了

第四个问题 常用的数据结构 字典 数组 链表

相关文章

网友评论

      本文标题:从零开始学Python

      本文链接:https://www.haomeiwen.com/subject/icznaxtx.html